Checkpoint TabView commit

Part 4 of the MainWindow refactor is moving the code for the
4 views (Analysis, Train, Home, Diary) out of MainWindow and
into a separate set of classes.

TabView is the base class for the 4 views and the basic code
is in this commit, but now need to work on the 4 derived
classes for Analysis, Home etc and the controller class 'Tab'.