This is made possible, by adding a second Canvas implementation which
can be used to render directly to GdkSnapshot objects
For now the only implemented method is drawBitmap(), this is already
enough to make VectorDrawableCompat functional
implements android.graphics.Typeface (always uses default
typeface for now), one version of Canvas.drawText, one version
of Paint.measureText, and Paint.ascend
Using the C API provided by SkiaSharp's skia fork instead of using cairo
significantly improves performance. The API is also closer to the android
Canvas API, which makes the implementation more straightforward.