Backported from 308f2cb8eac1f3165a6ab6170b3e63675c02dde0
Hopefully this will lead the way to adding support for things like Wayland and Haiku graphics, cf. #56. We define a display_output_base class that display backends can derive from to implement display-specific calls.