Depend on zlib directly when compiling against Qt 5

libtiled.pro is now set up to auto-detect a zlib installation at its
default location. When it is installed somewhere else, then the
environment variable 'ZLIB_PATH' should be set to the directory where the
'include' and 'lib' directories can be found that include zlib.

When compiling with MinGW, it will choose the static library to avoid
the need to copy a .dll around. When compiling with MSVC it will need the
zlib1.dll since I don't think the static library is compatible with that
compiler. The MSVC build has not been tested yet.

It expects zlib to be installed by using the package available at
http://gnuwin32.sourceforge.net/packages/zlib.htm

Closes #285
Simplified IsometricRenderer::pixelToTileCoords
Import/export terrain information from/to JSON

Fixes #350
Bump the maximum tile margin and spacing in New Tileset dialog

The maximum was at 99 pixels and somebody was hitting that limit. The
main reason for the maximum is because QSpinBox determines its size
based on the maximum value. With the current layout, the maximum can be
9999 and it will still be the same size, because it's aligned to the
tile size spin box anyway which has that maximum already.

Closes #359
libtiled-java: Added zlib compression support to TMXMapWriter
libtiled-java: Do not output width and height for ObjectGroup

It's obsoleted.
libtiled-java: Do not store firstGid in each TileSet

Instead, they should be calculated on-the-fly when writing a TMX file.
Loading TMX files should parse the gids while the file is being loaded,
but not persist them inside the TileSet.
libtiled-java: Added support for caching tilesets

For example, when reusing the TMXMapReader to load several TMX files
that all have the same tileset definitions, the loader does not have to
load the tileset images several times, thus making the loading process
much faster.