Good question. Tough question, but good question!
In general, everything you have access to you are free to modify. Which is basically every piece of art, data, sound, scripts but not the core game code unless you feel like doing a lot of reverse engineering and hacking.
The system is set up so that the game knows when a mod is being run - so we can disable achievements/trophies and things like that and also so that there is some sort of visual indicator (not sure what yet) that a mod is being run. The latter is sort of "prevention" for folks making bizarre things and trying to label them as "official" video or screenshots or whatever. Obviously, that could be cropped out so it's not like we have any real way to prevent the latter but it is not worth any further effort in our opinion.
In terms of the original game's assets, you'll have to make a copy of them into a mod project to be able to mod them. This is so that the original data is preserved so you can play the game "as designed" without fear of a mod breaking your install. This also prevents folks from modifying the original data such that the achievements/trophies can be cheated. Obviously, this is hackable by the highly motivated individual as well, but again, anything beyond that is just too much effort for no return.
Kind of going back to the question at hand. The core game code won't be available and the scripting system we will expose is simple - so there will be plenty of things in terms of dramatically altering functionality that would be very hard to do. Instead of spending a super incredible amount of time trying to expose every little thing from the scripting end, I will simply be taking requests for extensions for particular functionality that is desired and add that in as we release updates.