Fixes that the flickering block light effect was more or less invisible and adds some minor cleanups here and there.
Adds normal/bump mapping support - normal map atlas support is missing though...

* Adds simplified tangent space calculation to the chunk shader
* Adds normal mapping support to the chunk shader
* Adds a setting to the rendering config which can be used to enable/disable normal mapping
* Adds an example stone normal map
* Fixes that the Lambertian lighting helper method could return values < 0
* Adds a shader helper method which can be used to generate normalized texture coordinates from an arbitrary atlas texture position
* Adds various cleanups in the shaders that I made while I was at it
Updates menu and loading background images.
Adds various rendering related fixes, additions and tweaks.

* Adds the zNear and zFar clipping distances as camera parameters (which are sent to all shaders)
* Cleans up and adjusts depth calculations in various situations
* Adjusts inscattering and depth of field parameters
Fixes broken Oculus VR support since the addition of deferred shading pipeline.
Adds support for Parallax Mapping (can be manually enabled via the config file).

* Adds Parallax Stone block for testing purposes
Fixes #623.
Adds some minor cleanups in the light geometry pass fragment shader.
Adds support for the automated generation of height- and and normal map texture atlases and some minor fixes. All you have to do is create a new tile texture png with the suffixes "Height" or "Normal". If you like to specify a explicit name for the asset, you can use the "tileNormal" and "tileHeight" members of the Block Definition class. So a normal map for a stone block can be created by adding a "StoneNormal.png" texture to the assets directory.

* Adds support for sampling height and normal map texture atlases to the chunk fragment shader
* Removes parallax stone texture because it forced a texture atlas size of 4096*4096. Back to 256*256...
* Fixes a shader compile issue on the lower visual settings
Revision of the "books" mod.
* Made bookcases stackable
* when destroyed, bookcases drop their content - be careful with 99-er stacks ;)
* consistent naming (bookshelf -> bookcase)
* package structuring
Drastically reduces intensity of block light.
Adds some minor shader cleanups and fixes that blocks without available normal maps in the atlas were not correctly lit with normal mapping enabled.

* Sets the default background texture color for the normal texture atlas to r=0.5, g=0.5, b=1.0 which equals the unit vector [0.0, 0.0, 1.0] when being decoded in the chunk shader
* Reduces flickering light effect - no more ghosts turning your torches on and off to scare you at night
Adds minor cleanups and tweaks ocean waves settings.
Introduced MapGenerators that consists of several ChunkGenerators.
MapGenerators/ChunkGenerators can now be placed in mods.
CreateNewWorldUI modified to dynamically load MapGens.
Introduced GameType and GameTypeManager.
Refactored some code.
Example Light and Shadow game type.
Halves the resolution and thus the file size of the menu and loading background textures.
Adds JPEG version of the background texture for the README file.
Merge PR #626 from @skaldarnar - books revision
Merge PR #621 from @synopia - mapgen/gametype structure overhaul
Adds frustum culling for light components.