Surface
Surfaces provide images for Framebuffers where to render to.
Inherits properties and message types from SurfaceMetadata.