Add ActionStackModel for exposing ActionStack as a list model.

This model wraps ActionStack allowing it to be accesses like a
read-only list model. Manipulation is possible on the model via
wrapped functions of the ActionStack interface which mustn't be
used directly or the model might become inconsistent.
Add initial implementation of the HistoryWindow widget.

The history window is supposed to be a tool window showing the
contents of an ActionStackModel as a list of done and undone actions
allowing the user great control over un- and redo of actions.
This initial implementation only displays the list in a standard
view without any interactive capabilities.