Added the molecule model view to the application

This has a simple interface to switch between loaded molecules,
the model takes ownership of all molecules.

Change-Id: Id9355d61e4c6cb8408928619fc48f306b3e542c4
Generate the main window dynamically

This makes it easier to load layouts from settings.

Change-Id: I9242612e0c848228bdb460bdacb12f2dea504f92
Fixed the periodic table entry

This went missing with the menu builder changes.

Change-Id: If019d06596cb94c575a0d10531fe4af6587928fd
Improved loading of multiple files

Now that there is some interface for it, support loading multiple
files into Avogadro from the command line too. Also stop creating
an empty molecule by default, only create one if the user asks
for it.

Change-Id: If5168862a00248009870e2fdd1650a72dc86b6d3
Only time out when nothing started, prefer Avogadro formats

Only trigger the queued file timeout if nothing started in 5 seconds,
also prefer Avogadro file formats when loading queued files.

Change-Id: I64718ab39fbbd7bbcb87c6bea68d041771dbed50
Added in some support for multi view widget

Added a simple factory for the single widget we support, some more
is needed to get the GLWidget to work correctly.

Change-Id: I2f548743524a43593c68ed77719982b80b2eb9ba
Move to a window where many widgets have tools

This still assumes a single widget type, but create tools for each
widget activated (when necessary) and activate tools using their
name (as stored in the QAction).

Change-Id: Idee56ce5819268f22bfa5581a5e390362c224651
Only populate tools if they are empty

Change-Id: I545563a2b5ceb4c91e78e087104418ba37c4efff
Removed UI include, added missing includes

Also a minor fix for a bug when no molecule is set on a GLWidget.

Change-Id: Iac69d7c3d77e1203aa3becade62759d86ee0365b
Adjust the active tool when changing active widgets

Change-Id: Iddfc268e585bbfd0af1823ecd6c3f5f8d76ef8d4
Made setMolecule more multi-molecule aware

We don't close a molecule when opening a new one anymore, we want to
honor the change in molecule if the widget is not currently viewing
the supplied molecule.

Change-Id: I4597cfcde841aba1f5c46449a8f75d87c69121a5
Ensure the window title reflects the active widget

Change-Id: I19f875ec1d7ff38c6c12d18f13042acb59856a6a
Bring more classes into scope, add EditGLWidget support

Adding support for the new EditGLWdiget class, and simplify/shorten
some of the code by bringing more classes into scope.

Change-Id: I889420f330cea393d14dd333cc9ff4829c051601
First experiments with the VTK widget in Avogadro

Change-Id: Ib23a3240ccb898ee0224d76d6e9f2281bc3d4b5c
Revert back to returning GLWidget as default widget

Change-Id: Ifcf631faa47d5ed2bbc38a4c4695d3ce74106c0a
Remove m_glWidget, use m_multiViewWidget

The m_multiViewWidget knows what the active widget is, then do a
little work to figure out what class this is. The reactions should
probably bo moved to separate classes to make this cleaner and more
dynamic.

Change-Id: I359daca94135927be99476de719dadd0d4e60903
Addition of logic for RWMolecule, view dock

Change-Id: I566136a0886decc56ad9d108f430b14661eeaf89
Added code to change the active tool for edit widget

Also removed header we stopped using for CML format in main.

Change-Id: Ic5d5433b245fa5bf129499151990da8e74ec5fb3
Tighten up the logic for setting tools active

Change-Id: I0c302ccfd5f884423778ab920c1bde40940bc794
Logic to set the active molecule

Change-Id: I779aa50fab72064874f699ae1c2305ea1bb1172a