[subset] Make sure objects are decompiled during subsetting
[subset] Make sure objects are decompiled during subsetting

We need to ensureDecompiled() whenever an object is modified
before we look up any member of it.

Note that normally objects remaining decompiled until we try
to write them out is fine, except for when they depend on
font.getGlyphOrder().  This however, shouldn't normally happen
since if there's an object depending on the glyph list (eg. a
Coverage table), it should already have been process to subset
it according to the requested glyphs.  Or that's the idea at
least.  The few cases that were not handled are handled
explicitly now.

This was showing a bug when subsetting Cabin for example.

googlefonts/fonttools,fonttools/fonttools