Classes preserved in SVG output and a bunch of cleanup

-A lot of cleanup as discussed in emails and #62 (commit 047830b)

-Readings selected using the xpath input are now preserved as class names. There is support for nested readings as well, though as I'm writing this up, I'm fairly certain that's impossible with the current means of xpath input. If you want me to change this to a single extra class, let me know.

More information on how this works in the notes for commit cd6265b.
This is good but we should make it more generic. I think we will need a keep on the stack Object (or DocObject) so we have more information (id, element name, etc). Also, the reading itself should be done in iomei. In other words, we should have no use of pugixml in object.* files.