[py23] Minor refactoring
Minor debug output improvement
Only use two-byte offsets in loca table if all offsets are even

Otherwise it will mess up.
Add padding to glyphs only if it makes it possible to use short loca

Otherwise don't add padding.  This is against the spec, but "should"
work everywhere.  The spec only says offsets "should" be padded:

"""Note that the local offsets should be long-aligned, i.e., multiples
of 4. Offsets which are not long-aligned may seriously degrade
performance of some processors."""

We don't add any padded that we absolutely don't have to.  Should save
an average of one byte per glyph on large fonts.
Adjust previous commit
[glyf] Don't pad when removing hinting instructions

Finishes recent changes.
[subset] Work around OTS bug with FDSelect format 0

https://github.com/behdad/ots/commit/a049b98c8852078cf872e6d783ebf8205311bffc
https://github.com/khaledhosny/ots/pull/31

Fixes https://github.com/behdad/fonttools/issues/138