Viewporter protocol
Provides the capability of scaling and cropping surfaces, decorrelating the surface dimensions from the size of the buffer.