Implement zooming.

This implements zooming when the compositor is enabled. To zoom in,
hold the key used to grab and move windows (usually alt) and scroll
up with the mouse wheel. Scroll down to zoom out.

This works by transforming the offscreen buffer where windows are
composited when rendering it back to the screen.