Add simple undo functionality.

An extra backing surface is used to record the screen state between
strokes. Adds "gromit-mpx --undo" and "gromit-mpx --redo" commands.
Both have the same effect, swap undo backing surface and current
backing surface. Prepares for future multiple levels of undo and redo.