Water rendering, element base terrain interaction, #30 #57

- This includes the water particle (+terrain) rendering, adding some post processing steps. ref #30
- The renderer calls the terrain to render its base tiles only, water terrain depth image is used in the water particle rendering.
- Shadowing is now only applied on solid elements, ignoring water particles+terrain for now.
- changed the terrain to work with element names and definitions.
- terrain interaction techniques use normal distribution for height changes ( we should define the used std deviation in the elements later..)
- the terrain interactor will change the terrain type depending on its current material (will be set when grabbing the terrain)

This doesn't do what the branch name says, but includes hopefully most of the cpp changes to do the transformations #57. We should implement all further steps in the lua scripts, hacking around until it looks fine.
The terrain interactor interface is a bit large, we should clean it up when the interaction script work (and we know what we really need).