Merged (manual) from Shiandow's ChromaScaler work branch with changes to ConfigDialog.
Fixed:
Filter.Append was reusing 'this' instance when clone was required causing blank screen to be displayed in some situations when input / output size changes.

Refactoring:
Pulled ConfigurableRenderScript.cs from Shiandow's experimental branch.
Refactored all relevant scripts to inherit from ConfigurableRenderScript class.
Fixed Filter.Append crashing out with stack overflow in some situations.
Added example of InterlaceFlags usage in MyRenderScript.cs.
Added ability to specify up and down scalers in Resizer.Create().
Implemented workaround for config dialogs not showing in Visual Studio form designer.
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.
Renamed MimicFilter to ProxyFilter.
Changed m_Filter var to Filter property.
Attempts to make MyRenderScript.cs simpler and more intuitive.
Changed CreateScripts and GetScriptChain return type to IList<RenderScript>, which will accept any objects that implement IList<RenderScript> (List, Dictionary, array etc.).
Created OutputFilter (WIP)
Delete .gitignore
Rename OutputFilter -> FilterChain
Let's try that another way
Swap dependency
Chains can now be concatenated