Big reorganisation & made transforms configurable

I'm no longer pretending to support arbitrary affine transformations
(realistically, no-one was ever going to use this). Instead, we're now
offering configurable vertical & horizontal shear effects. The previous
default affine transformation was actually just a horizontal shear
anyway, so we haven't actually lost any functionality here, I['ve just
moved it in a different direction.