Include tileset.h since we're deleting tilesets

Something MinGW 4.4 was warning about:

"possible problem detected in invocation of delete operator: invalid use
of incomplete type 'struct Tiled::Tileset'".
Sorted file lists in the tiled.pro file

Using sort and grep makes life easy.
Tilesetdock uses tab bars again, but keeps the tool bar
Replica Island plugin: Read and write *.bin files

Replica Island is an open source, side-scrolling video game for Android.
This plugin can read and write the *.bin files used with Replica Island.

This code was originally based on the existing Droidcraft plugin (hence
the copyright notices), but it has since been almost entirely rewritten
to use QDataStream, which provides us with portable (de)serialization of
little-endian floats.

Most of the tilesets are taken directly from Replica Island, which is
distributed under the Apache License.  A few tilesets, including the
hotspot tiles, were created by hand.
MapDocument::LayerType moved to Layer::Type

The move of the layer type into the layer class allows
detecting the type relying on an introduced type field of the layer
class.

Therefore asTileLayer and asObjectLayer have been implemented as
non-virtual functions in the layer class.

Additionally the functions bool isTilelayer() and bool isObjectGroup()
have been introduced for cases when you do not need the object, but only need
to know if it is a certain type.
Map::indexOfLayer has optional layer type argument
AutomappingConverter: fix file dialog filter

Allow users to filter for (*.tmx).
Automapping: sort rules within one rulefile

As in refactoring 72e2f77ec2afbcaa0d93b6b9f0c8e56244adf8e3
the way how to obtain the ruleregions was changed to a way,
which thinks of regions instead of scanning the map for rules
line-by-line. That approach might be cleaner in theory, but the
order of rules within one rulefile is now unknown.
The original intent never was to rely on rule ordering within one
rulefile, but users did rely on it.

This commit introduces a sorting of the rules within one rulemap, so the
order is the same as it was before the rewrite of the Automapping.
Automapping: Add assertions to setupRuleList()

checking if mRuleInput and mRuleOutput match its indexes.
Automapping: Support for Objects.

The output layers are allowed to be object layers as well.
Automapping still processes in tile coordinates, which
may yield inaccurate object handling.

For checking if objects are part of a rule or when checking
if they need to be delete first ('DeleteTiles' set to 'true'),
the object boundaries (rectangles) will be considered, which may
lead to problems, specially when using non-rectangular objects
(polygon, polyline).
Since the tile coordinates are counted in integer,
the object coordinates will be translated into these as well.
So the rectangular boundaries are rounded to nearest integer.
Automapping: add object examples
Automapping: Introduce AutomappingUtils

The automappingutils.{cpp, h} files will have general methods, which
do not fit into the Automapping classes, but also do not really fit into
the API of the relevant used classes.
Made a start on a staggered map renderer

It only supports tile layers for now, no object support yet. But even with
tile layers, there are some things not working as expected as detailed in
staggedrenderer.h.
Added plugin support for multiple name filters
Fixed documentation comment
Merge remote-tracking branch 'upstream/master'

Conflicts:
	src/plugins/plugins.pro
Rewrote the plugin w/o callbacks and updated scripts.

Notes:
- fotf now loads most levels with correct tilesets
- Lacks testing in windows