Added checkpointing system for keeping track of history.
Implemented undo/redo for fragment selection.