Changed Func<int, int, Size> to Func<Size, Size>.
This improves code clarity. Also renamed Transformation to Transform.
This gives us codes such as,
        public override Size OutputSize
        {
            get { return Transform(InputFilters[SizeIndex].OutputSize); }
        }