switch glyph ids from u32strings to char32_t, clean up references to faces

Mostly fixing types and switching `face` references to `glyphPositions`.

- [ ] Not sure what to do about the `face` references remaining in [`src/geometry/glyph_atlas.cpp`](https://github.com/mapbox/mapbox-gl-native/blob/01ed6470287db46b62fe8740083cea702fd49503/src/geometry/glyph_atlas.cpp) though, as fontstacks already seem to be a separate concept - `charmap` or something maybe?
- [ ] Should `x` and `y` be `uint32_t` or `int32_t` at https://github.com/mapbox/mapbox-gl-native/blob/01ed6470287db46b62fe8740083cea702fd49503/include/llmr/text/glyph.hpp#L47-55? Class members were recently switched to `int32_t` but were still passed in the constructor as `uint32_t`.
- [ ] Is adding a float to an int a problem? https://github.com/mapbox/mapbox-gl-native/blob/01ed6470287db46b62fe8740083cea702fd49503/src/text/glyph_store.cpp#L42
- [ ] Is dividing a `char32_t` by `256` and expecting an `unsigned` result safe? https://github.com/mapbox/mapbox-gl-native/blob/01ed6470287db46b62fe8740083cea702fd49503/src/text/glyph.cpp#L10

Would appreciate a review here @kkaefer @springmeyer, thanks!