Implement a basic mapper

Putting this up for review. I want to do some minor cleanup and do the inline documentation before merging this.
I'm not sure. I think it is applicable outside of XML, but maybe not for all parsers.  I think any `Parser` consumer should be able to handle the `NotImplementedError` gracefully.  (i.e. UI elements should fall back on an attribute-less parser, and not present attribute accessors/filters to the user).