Fix contextual lookup recursion indexing

See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.
[OT] Collect requiredFeature only if features are not provided

As per Werner's report on the list.
[Indic] Add Javanese config

We should add for other scripts too, send me the virama codepoint
and script name...
[uniscribe] Fix buffer allocation

Email from Jonathan Kew:

My cygwin build kept aborting on certain test words when run with the
uniscribe backend. Turned out this was caused by a bug in the allocation
of scratch buffers in hb-uniscribe.cc.

Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line

  ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size);

but it failed to account for this in the computation of glyphs_size
(the number of glyphs for which scratch buffer space is available),
with the result that the vis_clusters array ends up overrunning the
end of the scratch buffer and clobbering the beginning of the buffer's
info[].

AFAICS, the vis_attr array is not actually used, so the simple fix is
to remove the line that allocates it. (If/when we -do- need to use
vis_attr for something, we'll need to add another term to the earlier
calculation of glyphs_size.)

With this patch, the uniscribe backend runs reliably again.

JK
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0

Based on patch from Jonathan Kew, as reported on the mailing list.
0.9.19
Followup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22

During GSUB, if a ligation happens, subsequence context input matching
matches the new indexing.  During GPOS however, the indices never
change.  So just go one by one.

Fixes 'dist' positioning with mmrtext.ttf and the following sequence:

  U+1014,U+1039,U+1011,U+1014,U+1039,U+1011,U+1014,U+1039,U+1011

Reported by Jonathan Kew.
[uniscribe] Use unique font name

When installing per-process fonts using AddFontMemResourceEx(),
if a font with the same family name is already installed, sometimes
that one gets used.  Which is problematic for us.  As such, we
now mangle the font to install a new 'name' table with a unique
name, which we then use to choose the font.

Patch from Jonathan Kew.
[uniscribe] Use blob to pass data around
[uniscribe] Move name generation into separate function
[uniscribe] Use OT::* types
[uniscribe] Handle TTC when renaming font
[uniscribe] Sanitize font file
Minor
Fix glyph closure recursion!
Apply 'mark' to Myanmar

According to Andrew Glass: "The issue with Myanmar <mark> feature was
fixed via a servicing patch as soon as Windows 8 became available."
Merge branch 'master' of git://github.com/behdad/harfbuzz
JOHNE - Changes after upgrading to Harfbuzz v0.9.19