Added basic undo / redo compile system.
This doesn't alter the header/source files, but simply reverts the objects.