Using protocol buffers

The undo/redo data structure now uses the auto-generated classes from
the proto file.