[Fontations] Test path equivalence for a set of test fonts and strings

Using the test data added to the googlefonts_tests CIPD repo [1] in
Chromium change [2], iterate over a limited set of the testdata-provided
JSON metadata to find test font name and path, as well as language
specific test strings. Declare the subset of fonts we use for testing,
and the language to test the font with in the statically declare
DEF_TEST stanzas.

Shape test string with the HarfBuzz shaper module, then iterate over
selected glyphs and compare their path equivalence. Reuse the
Path::dump() method for that, as it canonicalizes the output.

These tests require the developer to run bin/fetch-fonts-testdata, for
details, see [3].

This is a reland of https://skia-review.googlesource.com/c/skia/+/757076
with some infra changes to pass in the font data and fix the Bazel
builds.

[1] https://chrome-infra-packages.appspot.com/p/chromium/third_party/googlefonts_testdata/+/
[2] https://chromium-review.googlesource.com/c/chromium/src/+/4838814
[3] https://skia-review.googlesource.com/c/skia/+/752837

Cq-Include-Trybots: luci.skia.skia.primary:Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Fontations,Test-Mac12-Clang-MacBookPro16.2-CPU-AppleIntel-x86_64-Debug-All-Fontations,Build-Mac-Clang-x86_64-Debug-Fontations,Build-Debian10-Clang-x86_64-Debug-Fontations
Bug: skia:295807418
Change-Id: I68b4d343424e14cf869b7f1c5fcb026f405c1d55
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/758001
Reviewed-by: Dominik Röttsches <drott@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
18 files changed