Added tile object flipping flags to Properties dock

Allows inspecting whether any given tile object is flipped in either
direction, and to change it (though the 'X' and 'Y' shortcuts are
faster for that purpose).
Always start selecting objects when holding Shift

It can be difficult to select objects when accidentally hitting any
object will start a move operation. Now it's possible to suppress the
move and always start a selection by holding Shift.

This matches the behavior of Inkscape.
Fixed updating of image layer

When changing the transparent color or the image of an image layer,
the item was not resizing and repainting correctly.
Fixed updating of image layer

When changing the transparent color or the image of an image layer,
the item was not resizing and repainting correctly.

Back-ported from master branch commits:

7ded5d6b9fba6d71740fc3ab0c5e2263c51707ec (small part)
479a288d3b4e6105b56a75283e435f79fbde715d
Optimized hardware-accelerated tile rendering

By using QPainter::PixmapFragment the amount of API calls to draw the
same tile over and over again is much reduced. This leads to a small
improvement in rendering speed, which is mainly noticable on maps where
large areas are filled with the same tile.

The minimum Qt version was raised to Qt 4.7 since earlier versions do
not have QPainter::PixmapFragment.
Removed no longer needed Qt version checks

Qt 4.7 is now the minimum required Qt version.
Used the CellRenderer in the StaggeredRenderer
Revert "Rotate objects around their center instead of the bottom left"

This reverts commit 884184004dfa0f22a3130945cf7e86ddde01a0f9.

While rotating objects around their center may be somewhat nicer when
editing the rotation property, it has the nasty side-effect that
anything that changes the size of an object also affects its position
when this object is rotated. This means that rotated rectangles are
shifting around when you resize them, and so do polygons while editing
their nodes.

It may be possible to adjust the position to keep things on the same
place, but for now I'm opting to keep rotating objects around their
actual position.
Force scroll bars in the map view to be always on

It's actually a bit annoying if they appear/disappear when zooming out a
lot, especially since the map is centered which means it will shift a
bit.

This also avoids some glitches when using OpenGL rendering.
Fixed display of grid in tileset view on certain zoom levels

Due to inconsistent rounding the grid was getting lost at certain zoom
levels.
Fixed save in wrong format after opening a file using a plugin

On Mac, opening a file using a plugin was not setting the mapDocument's
writerPluginFileName. This means that it would default to the TMX
format.

Replaced dynamic_cast with qobject_cast.

Closes #389
Merge branch '0.9'

Conflicts:
	src/tiled/mapdocument.h
Corrected merge error

Should have done a compile check, obviously...
Fixed drawing of flipped tiles when using software rendering

Due to a bug in QPaintEngineEx a negative scaleX or scaleY value results
in nothing being drawn rather than drawing a flipped image, like the
OpenGL paint engine does.

Worked this around by manually drawing the fragment and applying the
scale to the transform rather than to the target rect.
Start to support animation

working version.

Closes #57.