Dynamically generate transform menu items

- Reworked the ds.transform class; the mixin was only used once, and
the new model class encapsulates creating an action instance for the
transform.
- Transform menu items are no longer hard coded. When you register a
transform, it generates and registers the corresponding action. The
action menu template renders those as usual.
- Assorted minor cleanups related to above refactoring