Use a QDoubleSpinBox instead of a QLineEdit for the snapping
 tolerance, make the treeview columns adjust better to the size of the
 contents
Use GEOS reentrant API (_r functions) and update requirement to GEOS >= 3.1.0

Currently QGIS uses the 'classic' GEOS API that uses a global context.
This can conflict with libraries that would also use the global context
and potentially finalize it whereas QGIS will still use it later.

See https://groups.google.com/forum/#!topic/spatialite-users/9YSU6c5AVQ4 for
such an example of such a recent issue with Spatialite.

The _r API is available since GEOS 3.1.0, which is already an ancient GEOS
version. For example, old-old-stable Ubuntu (Lucid 10.04) and Debian (squeeze)
ship with GEOS 3.1.0 or later.

Such move has also been done in GDAL 1.11
(http://lists.osgeo.org/pipermail/gdal-dev/2013-August/036877.html)
and MapServer 7.0 (https://github.com/mapserver/mapserver/issues/4733)

There's no easy way unfortunately to check at compile time that you don't
use the non _r API. I have patched my geos_c.h header to #ifdef that API (quite
painfull to do..). A postprocessing check can be done however with :

objdump -T output/lib/*.so | grep -v Base | grep GEOS | grep -v _r | grep -v "_ZN" | grep -v GEOSversion

It should return nothing.
[heatmap-plugin] replace messagebar to messagebox
[context-help] set heading to 3 for heatmap plugin and python console help file
Automatic update of label and neighboring ranges boundaries
creation of a convertToRuleBasedRenderer() function
add sip
use previous renderer if possible, instead of last applied renderer
Add factory annotation and use clone for rule based renderer
refactor to a more general convertFromRenderer function
update
Merge pull request #1556 from leyan/convertToRuleBasedSymbology

[FEATURE] Keep renderer settings when changing renderer type (where it is possible)
Added @leyan to contributors
Merge remote-tracking branch 'rouault/use_geos_reentrant_api'

Conflicts:
	src/core/pal/layer.cpp
	src/core/qgsgeometry.cpp
	src/core/qgspallabeling.cpp
Merge pull request #1570 from slarosa/heatmap-plugin

[heatmap-plugin] replace messagebar to messagebox
Merge pull request #1576 from leyan/graduatedRenderer

Automatic update of label and neighboring ranges boundaries in graduated renderer. Fix #9312. Fix #9900, Fix #10203
Merge pull request #1571 from slarosa/context-help

[context-help] set heading to 3 for heatmap plugin and python console help file
Merge pull request #1304 from manisandro/replace_lineedit_with_combobox_snappingdialog

Use a spinbox instead of a lineedit for the snapping tolerance
Move identify toolbar to top to match other docks with toolbars
Use _r GEOS API in geometry import test