Improved MutiplyFilter, some cleanup.

Upgraded MultiplyFilter to TransformationFilter, which can handle arbitrary changes in size, and is easier to read.
Added a check to ensure that TransformationFilter resizes an existing filter.
Replaced MultiplyFilter with either TransformationFilter, or a regular ShaderFilter if the size didn't change.

TODO: investigate adding TransformationFilter's capabilities to Filter.