place fg, bg, selection fg/bg, and cursor render nodes into separate groups
This tries to group various textview operations into similar parent nodes. The idea here is that we may someday be able to more easily avoid GPU state changes if we draw similar things together. Obviously there are other ways to take care of that, but this serves for some experimentation.
This lets us apply things in terms of:
- text background
- text foreground
- selection background (color rectangle nodes)
- selection foreground (usually fairly uniform in textual style)
- cursors
and at the end, each sub-snapshot is grouped into the widgets snapshot.
This depends on !1025 (merged) just because. It could be ported to not require that.