View refactor

Attempting to refactor views in order to:

* Remove diamond inheritance:  All views should only ever inherit from a single vanilla or extra view (as the rightmost base class), and may include zero or more mixin classes.
* Ensure users only ever inherit from a single view.  (Should not need to compose views or include mixin classes.)