Made AutomappingManager and QuickStampManager no longer singleton

They don't need to be a singleton since they are only accessed from
the MainWindow anyway.
Changed ToolManager to no longer be a singleton

This is done because I'd like to have two of them.
Avoid relying on MapDocumentActionHandler in the tools

This is in order to allow additional instances of the tools to operate
on a different MapDocument than the currently selected one.
Allow drawing collision shapes on tiles

This change associates an ObjectGroup with each Tile on-demand and adds
a new "Collision Editor" dock that allows editing this object group for
the selected tile.

Closes #552
Made the ClipboardManager into a singleton

This makes sense since there is never a need for two clipboard managers,
and I want to access it from multiple places.
Added cut/copy/paste/delete actions to collision editor

Unfortunately the shortcuts don't work reliably due to conflicting with
the same shortcuts working on the current map.
Use a separate window for the Tile Collision Editor

Resolves shortcut conflicts for cut, copy, paste and delete.
Worked around an issue with static child widgets of child windows

Using static child widgets in child windows can cause a crash on exit
because there is a chance that they are still referenced after being
deleted.

In the last commit the Tile collision editor was changed to a child
window and the MapView has a static viewport widget by default. This is
flag is no longer used to avoid the above issue.
Manage the tool bar outside of the ToolManager

This simplifies the code and provides more flexibility. It's also safer
since ownership over the tool bar is more clearly defined this way.
JSON plugin: Save/load a tile's object group when set