Separated windows from docks.

This allows saving of windows' state just like it's currently done in
MainWindow.
Experimenting with parallel building