Move tool widget creation into the ToolModel, out of MainWindow.

This allows us to handle this differently when using MainWindow in the
client.
Add client side tool model.
Don't include the uic-generated code in the header.
Extraction of the empty main window shell.