Improve numerical stability, preserve alpha

The 'pow' function doesn't work on negative values, so you should call saturate first.
Also made it preserve the alpha channel, can't think of a good reason why you shouldn't do so.
Merge pull request #14 from zachsaw/work

Work
Merge pull request #15 from zachsaw/work

Work
Merge pull request #16 from Shiandow/patch-1

Improve numerical stability, preserve alpha
Merge pull request #17 from zachsaw/work

Added Shiandow's ChromaScaler render script
Merge pull request #18 from zachsaw/work

Pulled from work branch
Merge pull request #19 from zachsaw/work

Pulled from work branch
Make LoadSettings(), SaveSettings() abstract.
Reorder RenderScript class

Tried separating the parts that should be override from the parts that
do the actual work and the part that provides convenient functions.
Moved CreateFilter to RenderScript

Also promoted m_Filter to protected, otherwise it's extemely hard to
overrule RenderScript's behaviour.

At any rate, ConfigurableRenderScript should behave identical to
earlier, so only RenderScriptChain required modification.

That said, for some reason Resizer didn't allocate texture anymore.
Oddly I couldn't find why this even worked before. Fixed by changing TextureAllocTrigger.

Also Intialize filters automatically using HandleFilterChanged. And made
RenderScript dispose m_Filter, this turns out to be more convenient if GetFilter
isn't overriden.
Try different chaining method

Added MimicFilter which mimics some filter, and can be easily made to
mimic another filter. Using this instead of SourceFitler makes it
possible to easily replace all occurrences of it.

This supersedes the Filter.Append method and all related methods.
Revert "Make LoadSettings(), SaveSettings() abstract."

This reverts commit c5a318ff6ab1f667ff1733aec1e181f7720aeab5.
Merge pull request #21 from Shiandow/work

Work