Use setmode() instead of _setmode()

Looks like Cygwin / MSVC declare it that way, and it still works on
MinGW32 cross.
Fixup previous commit

Now, it looks like this breaks Cygwin again.  Have to figure out what's
going on.
Really fix setmode this time

Thanks to Khaled for spotting it.
Merge check-internal-symbols.sh and check-exported-symbols.sh
Bug 59637 - check-exported-symbols.sh & check-internal-symbols.sh fail on mips/mipsel
Bug 60035 - intermittent make install failure on hb-version.h
Add color-tests automake option
Don't use $(ENV)

As reported by Peter Breitenlohner:

I think this is a very bad idea because ENV is used to specify a startup
file to be read by some/all shells.
Revert "[Indic] Import ragel-generated Indic machine in git"

This reverts commit fab7a71f110ed646745d54b23284537c50058c21.

Conflicts:
	src/hb-ot-shape-complex-indic-machine.hh

Keeping that generated file in-tree causes problems with processes like
tinderbox  that automatically fetch and build harfbuzz.  It's harder to
bootstrap harfbuzz now (as was previously), but I'm willing to give this
another chance and see how it goes.
Revert "Include config.h.in in tree"

This reverts commit 01013a0f5c58d5d54a37e5b4d6692e0bbd4baf80.

Conflicts:
	config.h.in

Same argument as previous commit.
Improve normalization heuristic

Before, for most scripts, we were not trying to recompose two characters
if the second one had ccc=0.  That fails for Myanmar where U+1026
decomposes to U+1025,U+102E, both of which have ccc=0.  However, we do
want to try to recompose those.  We now check whether the second is a
mark, using general category instead.

At the same time, remove optimization that was conflicting with this.

[Let the Ngapi hackfest begin!]
[Indic] Fix bug introduced in 8b217f5ac54aa0dcbba2dd6d59aa89dde33e56c2

Was breaking reph formation logic when the Ra is the only consonant.
Devanagari regression fixed.  Down to 57 failures again.  Ouch.
[OTLayout] s/mark_skipping/skipping/

In aticipation of upcoming changes.
[OTLayout] Respect lookup-flags skipping over non-mark glyphs

Before, when matching ligatures, we never skipping over base / liga
glyphs even if that was what the LookupFlags asked for.

Fixed now.  We carefully reviewed all instances of this, and tested with
Amiri as well as some Indic scripts, and are confident that this should
NOT break anyone's fonts.  It's also how Uniscribe does it, from what
we can tell.
Minor
Add Win8-style Myanmar shaper

Myanmar failures down from 51% to 0.00204648%!

MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%)
Shuffle test data around
[Myanmar] Prevent reordering between Asat and Dot below

Implemented as a hack for now.  Myanmar failures down from 23 to 15.

MYANMAR: 1123868 out of 1123883 tests passed. 15 failed (0.00133466%)

The remaining 15 cases are all where the syllable is wrong according to
the OpenType spec.  We insert dottedcircle.  Uniscribe fails to do that,
but it also fails to reorder the prebase-reordering medial-Ra.  So it
gets it wrong.
[Myanmar] Fixup handling of joiners and GB characters
[Myanmar] Fix handling of Punctuation and Symbol types

Testing with "clusters" now on par with testing without them.  15
failures both.