Undo/Redo UI Enhancements

Added count bubbles to the undo and redo buttons.
Disabled the buttons if there are 0 corresponding operations available.
This closes #8.

With unit tests!