Questing working in game; needs a bit of refining. Quests pulled from a single prefab, if there is more than 1 it will not work.

Signed-off-by: nh_99 <ifence9@gmail.com>
Merged with latest

Signed-off-by: nh_99 <ifence9@gmail.com>
Fixed the settings gradle to include questing.
Fixed a small bug that made it so that any block you picked up after quests were finished would throw an error. Also fixed a nullpointer.
Quests are now set up for an item's use. A "questing card" is added to the game.
Merge branch 'develop' of https://github.com/MovingBlocks/Terasology.git into develop
Fixed gradle settings
Adds simple chromatic aberration post processing effect (currently undefined because two additional texture lookups).
Adds missing space in world renderer debug string.
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.
Fixes that materials were no longer using concrete instances of shader programs and overhauls the Shader Manager class to utilize the asset pipeline.

* Changes that the Shader Manager creates Shader Program instances using the asset pipeline from now on (instead of loading all shaders manually)
Slightly tweaks DoF parameters.
Adds new GLSL Shader Program Instance class and thus splits asset and rendering functionality.

From now on shader programs solely wrap the shader source code and the material parameters (which both get loaded via the asset pipeline). They provide an interface for creating shader program instances. Shader program instances on the other hand contain the support for shader permutation compilation and all the OpenGL specific code. Only shader program instances can be actively used for rendering tasks. Each shader program instance is created using a given shader program and the shader program itself is kept as a reference, so the actual source code can be shared between all shader program instances. All shader program instances get disposed if the base shader program gets disposed.
Slightly water ambient lighting intensity.
Tweaks Tunnel (Railgun) action so it does not destroy the ground below you all the time.
Adds support for volumetric height fog. Can be turned on and off via the video config screen. Also...

* Shuffles around some features in the combine shader
* Tweaks in-scattering parameters to be a bit more intense
* Reduces size of skyband texture from 1/16th to 1/32th (that's really small)
* Adds some other cleanups...