Test shadow map with chebyshev inequality.
Reduce light bleeding.
Simplified shaders interface.

To make adding new shaders easier, we now do not pass each shader
indiviually to the GLWidgets, but a single Shader struct, with all the
shaders inside.
Create mipmaps of the shadowmaps.
Implemented two pass gaussian blur on the moments.