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.
Adds light rendering distance property to the light component (can be used to disable light rendering for lights in the distance). Currently set 0.0f == always render the light by default.
Fixes that directional lights were culled by distance.
fixes several issues: #630, #631, #632
Merge pull request #634 from synopia/gametype

Fixes several issues: #630, #631, #632
Fixes some style mismatches of the recently merged PR.
Adds some minor cleanups and rendering tweaks. Also adds a first draft of a z-prepass optimization (currently disabled due to z-fighting issues).

* Changes that all render queues in the world renderer get sorted from front to back or vice versa (currently not needed)
* Renamed transparent chunk pass to refractive pass (since they're treated as opaque chunks and nothing gets actually blended)
* Renamed alpha blend chunk type to refractive
* Renamed renderTransparent() method to renderAlphaBlend() (only entities can utilize real alpha blending at the moment - chunks use the refraction approach)
* Changes that all alpha blend entities are no longer written to the depth buffer
* Cleans up the world renderer debug string to be a bit more compact - and also removes some not too interesting elements