Some Emacs local dir variables (you can ignore this).
Added a grid for the sea.
Merge branch 'master' into soft-shadows

Conflicts:
	.dir-locals.el
	SceneGraph/scene.cpp
Added shadow on toon shader with deferred shading
Added OpenCL bindings. Started singleton class for parallel reduction.
Can now create join CL-GL context. Can get textures from GL.
Merge branch 'master' into soft-shadows
Darius Fix for weird diffuse colour.

Conflicts:
	shaders/DS_lightPass.frag
Added CL kernels and pass arguments.
Fixed quadBuffer proliferation bug.
Added one horizontal reduction on the whole texture.
Can (maybe?) compute the whole SAT of the shadowmap.

Also reduced the size of the shadowmap to 512, and better size interface.
Pass the SAT to the shader.
Implemented SAT blurring in shader
Add SAT flag.
Flag affects if SATs are calculated.
Make the shaders paint to a texture and then display this texture to
screen.

The rendered texture is in the GBuffer finalTexture. The shader that
paints this to the screen is the canvasProgram and canvas.frag.
Here you can do the post-processing.
Added central management of shader binding.
Added in-node shader handling.
Changed scene draw API to pass the whole camera.

In the draw call the uniform locations are calculated from the shader
and not passed. You also need to pass the camera to get projection
matrix. This way you have all the information to prepare the shader and
can use arbitrary shaders in every node (hopefully).
Arbitrary shaders per object. Forward rendering too.