Make representations sub-classable and demonstrate with Wrap180 test

This should partly address #2690 by making it convenient to subclass representations, and in particular change the `attr_classes` only.  In the currently implementation the `attr_classes` are not actually used in the class but instead are hardwired.

It also provides a new test that serves as a demonstration of how to make a new frame and representation to accomplish some specific behavior.