As per #109576, we need a way to be able to communicate to multiple graphics objects behind the scenes as we migrate to a DisplayList-focused API for our engine layers and support code.
One solution to this issue is to have an abstract API similar to DisplayListBuilder that the engine layers and support code talk to that can either be talking to an object that is recording DisplayList records, or it could alternately be talking to an SkCanvas object as an adapter (kind of like the reverse of the current DisplayListCanvasRecorder).
This would let us convert the layers and support code to only talk DL APIs and we'd still be able to use Skia as a back end with very little overhead.