Handle #include directives in the shader loader

These are not natively supported by GLSL, so this code adds a simple logic
to find "#include <file>" substrings and replace them by the contents of
the file they point to, before handing the result to the GLSL compiler.
Add multi-pass accumulation, and depth of field

Render to FBO and accumulate results into another texture using a running
average with the number of frames. We use two (flipping) dest textures
which store the composite result of each new sample. This systems is used
to implement depth of field, replacing the pinhole camera model by a thin
lens model (although the focusing is still manual). Still some rough edges
that need polishing.