Changes that the shadow mapping is executed on a per-pixel basis (deferred) instead of per vertex in the chunk shader. This allows the application of shadows to all opaque objects in the scene (first person elements like the hand and blocks, dynamic blocks in the world, meshes, ...).

* Implicitly fixes that shadows were applied to transparent surfaces like water
* Fixes that the outline shader caused artifacts on shallow surfaces in the distance (the outline is now blended using the screen space normals y component)
* Adds some more cleanups here and there and a new shader helper method
Makes the resolution of the shadow map available for all shaders as a global variable.
Adds support for PCF filter for shadow maps (smoothes dynamic shadows). Will extend the graphics option menu with my next commit to support it...
Removes dead z-pre-pass code. Until it starts to rot and stink...
Adds dynamic shadow settings as a separate button to the UI Menu Config Video class - Dynamic shadows can now be either disabled, enabled or enabled together with PCF filtering.
First version of moving minions along a path