Initial refactor of application into frontend-agnostic base class
Use commands
Data viewers take session objects as input instead of DataCollection
Undo/redo into gui
apply_roi, add_layer now commands
PEP8
test refactor
Updated gitignore
Limit number of undos
Fix contrast mode callback
Command tests
Merge pull request #199 from ChrisBeaumont/command

Commands