support for type 6/10/12 CMAPs (and thus Unicode astral-plane characters)

Hello there,

I needed to create a document in Prawn using some astral-plane Unicode characters (i.e. ones with a codepoint larger than 16 bits), and noticed that this didn't work because TTFunk couldn't grok the relevant CMAP table in the font file.  So I added support for a few more modern CMAP format types, and this now works fine for me.

Cheers,
Rob