Adding ModelTransform2 (ported from Java's ModelViewTransform, but using Transform3)