Review opentype spec1

A series of changes to OpenType.js as outcome of reviewing ABPG.  The focus was on implementing the subtables of the 'GPOS' table, and this is done.  While working to understand how to do that, I found problems with 'cmap' and 'name' tables, and those now do better.  I ran out of steam and so did not approach the missing subtables in 'GSUB'.

It is remarkable how much could be done to improve TTF/OTF support without changing transform.js at all.  However, see the note about non-support of arrays of OFFSETs (last change), and the rude workaround used to gather the data anyway.

Carefully tested, but on only 2-3 TTF files, and these together exercise only a portion of the possibilities.