Lua plugin: Include tile offset in the Lua export

Closes #499
Merge branch '0.9'
Added shortcuts for finishing and canceling object creation

Now the Return / Enter keys will finish object creation, and Escape will
cancel object creation.

Suggested by @noc7c9 in relation to #495 and matches Inkscape behavior
for creation of bezier curves / lines.
tmxrasterizer: Return an error code when failing to load the map

Fixes #510
tmxrasterizer: Some small fixes

* Fixed rendering of staggered isometric maps
* Fixed showing help when output file was not given
* Fixed some small coding style issues
Added python wrappers for ObjectGroup::objectCount() and ObjectGroup::objectAt(int index) methods
Reordered generated code to make changes smaller
More methods getters and setters wrapped (name, isVisible, rotation)
Added support for changing the object line width

This new setting in the preferences affects the line width used when
drawing rectangle, ellipse and polygon/polyline objects.

Setting the width to 0 will make the line 1 pixel wide regardless of the
zoom level.

Closes #502
Handle object draw order in minimap and save-as-image

Objects are no longer always drawn top to bottom.
Fixed removal of polygon/polyline objects when resizing a map

They were removed when their origin was falling outside of the map. Now
they are removed when their bounding rect falls outside of the map.

Object rotation is not handled yet, however.
Adjust shadow offset to the line width and scale

When the object line width is set to 0 and lines of 1 physical pixel are
drawn, the shadow offset is now adjusted to the scale to avoid a gap
between the line and its shadow.

For line width between 0 and 1 pixels, the shadow offset is now also
smaller to avoid the gap.

Based on feedback at issue #502.
Brought back the actions that open the Properties window

Even though the Properties window is now a dockwidget that can be left
open, some people may prefer to keep it closed and only open it when
needed. The old menu items were re-introduced to make it easier to open
the Properties window in the right context.

This commit reverts parts of 480f1e245d392d52fd, 20eb8cc1de431c8f756 and
d178b4596e8504179b707617.
libtiled-java: Added support for CSV-encoded layers
tmxviewer-java: Fixed instructions in README file
Brought back the "Terrain Properties..." context menu

This completes f7f904c70ed550390594b1a0a2c5650f8aff071e and reverts
most of 434d1aff8a4f5a015bc018d527947514bc949c48.
JSON plugin: Added terrain properties to JSON export
Added a semicolon to the tiled.desktop file

As reported by 'desktop-file-validate' on openSUSE Build Service:

error: value "application/x-tiled-tmx" for string list key "MimeType" in
group "Desktop Entry" does not have a semicolon (';') as trailing
character
Merge pull request #554 from ajuc/branch_to_pull_mappings

Wrapping more methods of MapObject and ObjectGroup in Python to make it possible to use them in Python plugins.
Make highlighted grid cells outside map red