Implement OpenType 1.9.1 revised (Var)Sweep implementation

Change implementation to draw in between 0 to 360, allow start angle
larger than end angle (and draw in reverse), not draw anything for
reflect and repeat when the sector angle is 0, use biased angle
definitions and follow other new semantics laid out in [1].

Update test font and add variable VarSweep tests to test a set of edge
cases, compare [2].

Put this implementation between the same flag as variable COLRv1 as I
plan to release these two changes in sync.

[1] OpenType 1.9.1 alpha review: https://docs.microsoft.com/en-us/typography/opentype/otspec191alpha/ot191alpha
[2] https://github.com/googlefonts/color-fonts/pull/119

Cq-Include-Trybots: luci.skia.skia.primary:Test-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android_NativeFonts
Change-Id: I463d01eeeb5ac74cdafb3dafac70ebb7f2c173c7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/566416
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Dominik Röttsches <drott@google.com>
4 files changed