Set buffer content type to INVALID in hb_buffer_set_length(0)

Previously we were only setting this in hb_buffer_clear_contents(),
but set_length(0) is a valid way to reinitialize buffer to use with
new text.
Bug 71845 - Use 64-bit cmpexch on ARM64 iOS
Added language tags for S'gaw Karen and Khamti

Tags based on support in Windows 8.1's 'Myanmar Text' font.
Added support for several new languages

Based on research into latest SIL and Windows fonts, pulling in
the latest OpenType language tag proposal from Microsoft, and updating
to latest language tags and names from ISO 639.
Add more Myanmar test cases

All three are broken right now according to Roozbeh.

https://bugs.freedesktop.org/show_bug.cgi?id=71947
https://bugs.freedesktop.org/show_bug.cgi?id=71948
https://bugs.freedesktop.org/show_bug.cgi?id=71949
[myanmar] Relax pwo-tone group a bit

This is broken sequence according to OpenType spec, Uniscribe,
and current HarfBuzz implementation.  But Roozbeh says this
is a valid sequence, so allow it.  There are multiple
"(DB As?)?" constructs in the grammar, but Roozbeh thinks only
this one needs changing.

Test case: 1014,1063,103A

Fixes https://bugs.freedesktop.org/show_bug.cgi?id=71949
[myanmar] Mark U+104E MYANMAR SYMBOL AFOREMENTIONED as Consonant

The spec and Uniscribe treat it as consonant in the grammar, but
it's not in IndicSyllableCategory.txt, so fix up.

Test sequence: U+1004,U+103A,U+1039,U+104E

https://bugs.freedesktop.org/show_bug.cgi?id=71948
[myanmar] Allow punctuation clusters

The spec and Uniscribe don't allow these, but UTN#11
specifically says the sequence U+104B,U+1038 is valid.
As such, allow all "P V" sequences.  There's about
eight sequences that match that structure, but Roozbeh
thinks it's fine to allow all of them.

Test case: U+104B, U+1038

https://bugs.freedesktop.org/show_bug.cgi?id=71947
Minor
Minor
[fallback] Add TODO note
[coretext] Avoid font fallback with CoreText shaper

CoreText does automatic font fallback (AKA "cascading") for  characters
not supported by the requested font, and provides no way to turn it off,
so detect if the returned run uses a font other than the requested one
and fill in the buffer with .notdef glyphs instead of random indices
glyph from a different font.
[coretext] Cleanup
[coretext] Add TODO
Add note about unsafe shape_plan->face

Will fix by removing shape_plan->face completely.
cache shape plans even if (global) user features are set
[util] Plug leak
[util] Fix uninitialized memory access
Fix unsafe shape_plan->face dependency
Revert "Karen" language mapping back to what it was before

https://bugzilla.mozilla.org/show_bug.cgi?id=941470