Loading with saved state plus refactoring

Implements loading the saved state previously added by #45.  Closes #8 and closes #9.

This pull request is much larger than normal because I also did a significant amount of refactoring afterwards.  I included the refactoring in this pull request because I wanted to make sure I did the refactoring on top of this feature (since it was a fairly big feature).  This should make things merge in nicely.

Part of this refactoring was separating out components that are specific to the GUI from more general tools.  The gui is in the pymop.gui package, and the tools are in pymop.tools.  I would like to further discuss incorporating the GUI as a sub-package installable with the ossos package when you have a chance.  Then pymop can disappear, with the pymop.tools being incorporated with your other utilities, and pymop.gui becoming ossos.gui or something like that.