make TileLoader::tileStatus() static

The textureLayer parameter is available everywhere where tileStatus() is called, making the call to findTextureLayer() unneccessary.
merge TileLoader::downloadTile() and ~::reloadTile()
merge MergedLayerDecorator::downloadStackedTile() and ~::reloadTile()
explicitly pass a GeoSceneTexture to TileLoader::(down)loadTile()

The GeoSceneTexture argument is available everywhere where (down)loadTile() is called. Therefore, there is no need to recover it using TileLoader::findTextureLayer().
Kinetic scrolling toggle action (Maemo only).
Translate kinetic scrolling action text
Fix redundant actions in Maemo.
Disable bookmark position editor UI on Maemo (too little space)
Fix folder doubling upon adding new folders. Use document as parent.

The combo box presents a flattened list of the folder hierarchy. Using
the currently selected folder as the parent of a newly added folder is
little intuitive and prevents to create top level folders. Instead now
top level folders are always created. The user can still create a
hierarchy in the bookmark manager if he wishes (where a tree view is
used, making the tree approach clear).
Compile properly, use the correct folder

(cherry picked from commit b0baaf69c16da215a257ad76e83223d687ac7157)
Fix regressions from b41a0cb

(cherry picked from commit c26161e5e7bc79c61cb65437ca6cb605094aee4b)
Less complicated scene invalidation

(cherry picked from commit 9ac9212f2d47a2ccc4cdb32ba45238ef218cfef6)
Kothic Json parser for vector data tiles

During GSoC 2012 for vector tile rendering, Kothic's servers json tiles
(hosted on http://osmosnimki.ru/vtile/ - please don't use it
heavily-loaded projects for now) have been used while OpenStreetMap
finishes building its own data tile server. These Kothic tiles have a
very similar format
(https://github.com/kothic/kothic-js/wiki/Tiles-format) to the ones that
OSM will have.

A problem was found with QScriptValue for multidimensional arrays. When
having for example [[20,10],[20,30].[30,30]] if we extract the property
it will flatten to 20,10,20,30,30,30. This parser doesn't create
separate inner geometries because of this. It will connect the inner
geometry with its outer.

It will set the geometries name and style according to what
OsmVisualCategory generates for the parsed tags.

This parser creates a GeoDataDocument with all the extracted data.
REVIEW: 106008
Extension for the .osm file parser.

Extension for the .osm file parser. Relations can be built with
different ways (for example for describing a building with a hole in it)
tagged as members.

So with this diff, <member> tag is parsed and ways are stored for then a
relation to have them available if necessary.

Moreover a relation can also contain another relation, so a relation
factory has also been created to store them.
REVIEW: 106007
Only start a parser thread if it supports the given file extension

BUG: 299680
Code style: Opening bracket at eol, brackets for one-liners. Prefix inc

(cherry picked from commit 251ec19e889641b3f6c90a162d08a6ea45e99cff)
5 levels of nesting is too much, insert a new method for readability

(cherry picked from commit 3d659760c90c58a50cb18acddc77db6ebbf79898)
Don't store invalid results. Picked from gsoc-2012-vectorosm branch.
reuse textureLayer from above

* the mapThemeIdHash() is the same also for the scaled tiles, which means that both textureLayer variables always had the same value
explicitly pass a GeoSceneTexture to TileLoader::scaledLowerLevelTile()

Passing a GeoSceneTexture to scaledLowerLevelTile() makes findTextureLayer() superfluous, which in turn makes m_textureLayers superfluous, which in turn makes setTextureLayers() superfluous.