Added ScriptSettings from MPDN.

Also added an extra constructor to plug in an external settings object.
Reuse old MPDN GUI for chaining scripts.
Remove Filter.Dispose()

Filters shouldn't contain a large amount of resources.