libtiled-java: Support objects in the shape of ellipse and polygons
libtiled-java: Defined unknown ObjectGroup attributes draworder, height, width
JSON reader: factor out a loadImage method
JSON reader: read properties and terrains after tile info

The tile info code will be used for adding tiles with individual
images.
Properties and terains should be loaded afterwards, when all tiles
are available.
JSON plugin: Support tilesets with external images
Fixed start drag distance check when editing polygons

The start drag distance check was done in map pixels rather than screen
pixels, causing the minimum effective drag distance to be way too large
when zoomed in.
Fixed start drag distance when moving objects

See also commit 0fa36a9da5840976622c8d118dd25ed6084e84fb.
Fixed typo
Fixed leaking of QActions by the CommandButton

The actions created when opening the popup menu had the button as their
owner, causing them to never be cleaned up.
Fixed leaking of terrain types

The Tileset should own its terrain types. I just hope there wasn't some
obscure reason why the terrain types were not being deleted.
Merge pull request #582 from encukou/json-external-images

JSON plugin: Support tilesets with external images
JSON plugin: Correctly resolve and clean the image paths

Since the last change, only the path used to load the image was
resolved, while the path remembered was the unresolved one and was also
not cleaned of "../" sequences. This can lead to problems later on (for
example when saving the map at a different location).
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.