Extend

This uses Backbone's native .extend methods to define our custom subclasses.

Specifically, it cleans up SwappingRouter's code quite a bit. I've also converted CompositeView to use the same syntax, but it's not considerably better because it has a custom constructor and it needs Observer's mixins.