Some Views block all events going to their descendants, and
then synthesize new events themselves. Gtk doesn't allow event
synthesization, which makes this quite annoying to deal with.
This initial implementation definiely has some problems,
for example it seems to cause infinite loops in some cases,
however it surprisingly works well enough.
This reverts commit b33a470c7b.
This commit was added as fix for layout recreation loops, but this is no
longer a problem, since ViewGroup.detachViewFromParent() has been
improved. The first fix is no longer needed and it seems to cause some
minor regressions, so we revert it.
TextAndroidCanvas is a proxy canvas class which prevents us from
accessing the GtkSnapshot of the real canvas. To solve this problem, we
call Canvas.drawText() for each line.
Some multi-platform apps accept cmdline options using the `-e` option
of `am`. For example, you can now use `-e unity='<unity cmdline>'`
to pass cmdline arguments to a unity game.
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