Halfway through refactoring output formats.
The idea now is that only simple plain-text template files are used
for all formats, rather than having a Python class for each one.
At least for the currently supported formats this seems to work very well.
Need to clean up and remove all the reduntant class definitions sometime.