Support an `inverse` member on every transform

This is defined in the base class "transform", so is therefore available on every transform.

The unfortunate fallout of this is that all transforms must be dictionaries (object in JSON-speak), in order to have an `inverse` property.  So the transforms that were just lists of things now have to be dictionaries with a property whose value is a list.  Makes things more verbose, but I couldn't really see a better way around it other than special-casing those and allowing either (dictionary only if you *need* to have an inverse), but that just seemed confusing from a user API level.

@nden, @embray