Replaced m_OwnsTexture with (m_TextureOwner == null).
Changed SourceFilter and OutputDummy OutputSize to use Renderer.Input/OutputSize which is available at the point where OnInput/OutputSizeChanged() is called.
This allows us to move AllocateTextures output Render() which should reduce CPU usage.
Refactored RenderScript to force implementors to return IFilter via GetFilter();
Fixed 10L from previous check-in. Forgot to put the Renderer == null check back in after refactoring.
Added call to DeallocateTextures() in OnInputSizeChanged and OnOutputSizeChanged to ensure textures are deallocated if filter has changed.
Converted if-then-else to Switch-case for TextureAllocTrigger in OnInput/OutputSizeChanged for clarity.
Added Linear/Gamma light conversion shaders to enable linear light scaling.
Added ImageProcessorUsage options.
Refactored Shiandow's patch to reduce code duplicates.
Merged back from trunk