[otlayout] Remove unused HB_OT_LAYOUT_GLYPH_PROPS_UNCLASSIFIED
[otlayout] Remove two unused HB_OT_LAYOUT_GLYPH_PROPS_* values
Use unsigned enums for mask types
[otlayout] Code shuffling
[otlayout] More shuffling
[otlayout] Renaming
[otlayout] Simplify set_class() usage
[otlayout] Add _hb_glyph_info_set_glyph_props()

No functional change.
[otlayout] More shuffling around
[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_SUBSTITUTED

Currently unused.
[otlayout] Add HB_OT_LAYOUT_GLYPH_PROPS_LIGATED

Currently unused.
[otlayout] Switch over from old is_a_ligature() to IS_LIGATED

Impact should be minimal and positive.
[otlayout] Add _hb_glyph_info_substituted()

Currently unused.
[indic] Fix compiler warnings
[indic] Swith pref logic to use _hb_glyph_info_substituted()

See comments from caveat!  Seems to work fine.

This is useful for Javanese which has an atomically encoded pre-base
reordering Ra which should only be reordered if it was substituted
by the pref feature.
[ft] Round metrics instead of truncate

Lohit-Punjabi has a upem of 769!  We were losing one unit in our
code, and FreeType is losing another one...  Test with U+0A06.
Has an advance of 854 in the font.  We were producing 852.
Now we do 853, which is what FreeType is telling us.
[indic] Add Javanese support!

Seems to be working just fine!
Minor
[otfallback] Never fallback-position a below-mark upwards

Test with WinXP times.ttf and U+05D9,U+05B5.
[otfallback] Don't shift down above-marks too much

This seems to generate much better, almost-perfect, positioning for
Arabic as well as Latin above marks.