More Font support

So this tries to register custom TTF files as reportlab fonts so that we can be more dramatic about customising our output.  It's got some annoying quirks (like not supporting bold or oblique), and I had to get rid of some less generic font-setting code elsewhere in pdf.py to make it work (reportlab really doesn't handle trying to register a font twice gracefully).

But I also added more styling support to the chord boxes.  They're still fixed in size, but now at least your font and colour settings propagate through.

This one also contains my other pull request, so you should probably merge/review that first if you're going to make changes.