This patch adds interfaces for specifying viewports via the wp_viewporter
protocol extension. This allows to make surface size and buffer independent
from each other. For example a video player can send 1080p video data while
the window of the player is of different size.
The server interface ViewportInterface is directly integrated with
SurfaceInterface. Viewport changes are double-buffered by that.