Is there any real value in allowing the user to template over the scalar type? Perhaps it should always be double, unless there's a compatibility problem with the Point class.
Derive this class from a yet undefined TransformBase class. Currently, this class derives from AffineTransform, although it is not an affine transform.