The remote-capture interface allows a particular output to be captured. It is created by specifying a shared memory region of the required size, and the output to capture. The interface allows a single refresh to be requested, in which case an update event will signal when the update is ready to be read from the buffer. It can also operate in continuous mode, when update events are sent whenever the output changes and the buffer has been updated. The update event contains the coordinates of the rectangle that changed (in coordinates relative to the output). This part is loosely based on weston's screenshooter code.