[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.