added undo, hint, pause, and fixed some bugs, added a couple random small features to the gui