Refactored the parsers into multiple independent components, so they can
be handled independently during the web building. It also makes testing
easier. More or less, anyway.