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.

Back-ported from master branch commits:

7ded5d6b9fba6d71740fc3ab0c5e2263c51707ec (small part)
479a288d3b4e6105b56a75283e435f79fbde715d
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