Fix renderType: Text.NativeRendering on retina screens
The QSGDefaultGlyphNode's QSGTextMaskMaterial failed to take the device
pixel ratio of the surface into account, both when building the glyph
cache in init() and when blitting the glyphs from the cache in populate().
We now handle both, resulting in equal rendering as the raster engine,
which itself matches CoreText, except for some minor shaping differences.
One snag with the QSGTextMaskMaterial compared to eg. the raster engine
is that the incoming glyph positions (from shaping) are not pre-scaled,
which means we have to be careful to apply the device pixel ratio before
rounding the coordinates, to match the behavior of the raster engine.
Change-Id: I51cf796bd437f68fad298f689ee3f2d9a2863b4d
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>