Added a RenderInterface class that allows users to influence some aspects of the render process from outside XML3D
Added a RenderPipeline class that contains targets, render passes and (optionally) shaders.

Users can create a RenderPipeline and fill it with their own targets and render passes. The pipeline can then be
set active by getting the renderInterface on the XML3D element and calling setRenderPipeline. Each Pipeline is self
contained and should be initialized once by calling init() after all render passes have been added.
Changed the renderer to use the new RenderPipeline system.

The forward and picking passes are now contained in their own pipelines, since render targets are now stored in
 pipelines to permit sharing between render passes (ie. the target of one pass can be the input of another). Every
render pass must have a pipeline as a parent (this will be moved out of the 'opt' parameter soon).

The picking passes are also responsible for creating their picking targets. Later on we could create a special PickingRenderPipeline
 that inherits from RenderPipeline.
Added a FullscreenQuad class and some logic in ProgramObject to handle setting textures (needed for post processing)
Added named pipelines to make initialization less confusing.

A render pass now expects a pipeline and the name of the output buffer that it should draw to. This buffer can be created in the pipeline's init()
function. To provide a custom pipeline the user would create his own that inherits from XML3D.webgl.RenderPipeline and
override the init/render functions (if necessary). This should make render passes more flexible.
The forward render pipeline should return the render statistics that the forward pass generates
The picking options in RenderInterface should work now
Omitting the picking pass in click/dblclick was causing the target to be null, removed this optimization since
we already do tons of picking during mouse move, the added complexity probably isn't worth it
Some fixes to incorporate render pipelines into the latest develop status
Added removeRenderPass to pipelines
Removed unnesseary parameter in createDefaultPipelines
Extended program to support sampler2D[]