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.
Add methods to transform (or back transform) many points or vectors at once?