Add basic interactivity to HistoryWindow.

* Can now use basic mouse and keyboard selection in list to trigger undo/redos
* Added ActionStackView which triggers and reacts to changes of the current index in the underlying model
* Added notion of current index updates to the model
* Added virtual first entry for action stack model to represent the action of creation of the stack. This makes interaction a lot more natural as to undo everything you just click on this virtual first entry and it becomes the "current action"