GPUI's engine contract: the scene representation that gpui builds and the
platform backends present.
This crate holds the intermediate representation (the [Scene] and its draw
primitives) together with the interfaces its collaborators implement. It
deliberately has no dependency on the windowing layer, on taffy, or on any
GPU driver, so alternative renderers and engines can reuse or replace the
scene representation without depending on those implementations.