Started work on views

Right now we have a base class `View`, as well as subclasses for each
of the element types we're interested in. We also have a few functions
for creating a view from xml, which appear to be working.

As of yet the views don't actually do anything