Added support for npc choices
Updated libtiled classes to the latest from Tiled

With theoretically a small increase in rendering performance.
Simplified Being::lookAt

When walking exactly at a 45-degree angle, it prefers the up and down
directions. This is the same behavior it had before.
Fixed updating of being positions

It was not updating any beings that came after the player.
Fixed handling of map changes

* No more duplicated entities
* No smooth camera movement on map switch
* Improved fade-in on new map using black overlay rather than using the
  transparency of the map itself

Had to drop the Behavior with the SpringAnimation since I couldn't find
a working way to disable it temporarily for the map switch. We'll see
whether the new timer approach works fine.
Bumped protocol version to 3

This is so that manaserv and the mana client's master and lpc2012
branches use the same protocol again, where starting attributes are
sent on character creation.
Simplified ResourceManager::removeResource and cleanUpResources

With Qt's foreach there is no need to make a copy of the container when
you're going to modify it, because the macro already makes a copy
(implicitly shared, of course).

Used the Mana::Resource's path member to avoid searching linearly
through the loaded resources.
Work around a Qt bug that broke the chat bar states

Can be reverted after Qt 4.8.5 or Qt 5.1.0 are widely available.
Made the keyboard input a little more reliable

Release events were bubbling out of the chat input and causing the
player to start walking. Now there are a few properties that keep
track of the key states, so that this can't happen.
Fixed the position of the overhead chat text
Added connection status indicators

For debugging purposes for now. Of course there should be some proper
handling of disconnects.
Request properly resolved URLs

Now when the ResourceManager is asked to get

   maps/goldenfields/../../tiles/sand.png

It will use QUrl::resolve when combining it with the base URL, to get:

   http://data.sourceoftales.org/tiles/sand.png

In order to still be able to match replies to the requested files, a
user attribute is set on the QNetworkRequest, which was cleaner anyway.

This change was mostly needed because CloudFiles does not handle the
previously used non-clean URLs. It may be because a redirect is not
followed since it works in the browser, so support for redirects should
still be checked.
Changed default serverlist.xml URL to avoid redirect

Previously the redirect was from www.manasource.org to manasource.org.
Fixed BeingListModel::clear when the list is still empty

It was triggering an assert in beginRemoveRows.
Wait for paths.xml to be loaded before continuing

To avoid characters being created too early, the different pages used
during the login process are now dynamically created. This should also
be more efficient since it avoids them eating any memory and possible
CPU during the game.

Dynamic creation of the pages does seem to perform better with Qt 5 than
with Qt 4. On Qt 4 the transition to the LoginPage is often lost in a
hiccup.
Display an error message when loading the server list failed
Upgraded C++ and QML to QtQuick 2.0

TileLayerItem rendering not implemented.
Converted SpriteItem to QQuickItem

This is much more efficient than implementing a QQuickPaintedItem.

A single QSGTexture instance is shared for each ImageResource.

The textures are lazily created in the rendering thread, and deleted
using deleteLater. This should make sure they are not deleted while the
rendering thread may still be using them.

Reviewed-by: Erik Schilling
Renamed pixmapresource.{h,cpp} to imageresource.{h,cpp}

The class was already renamed in the previous commit.

Also cleaned up some includes in the process.
Cache resources by their URL instead of their path

Since the URLs are resolved, this simplifies making sure that one
resource referred to from different relative paths is still considered
the same resource.

This change also simplifies requestSpriteDefinition and requestImage a
little and fixes SpriteDefinition still using a hardcoded sprite path.