Feature #8725: Fast rendering of geom (v-OGR)

Implements fast rendering of LineStrings and Polygons pre-applying a
view threshold filter to the geometries to render in qgis. Also disable
'Antialiasing' when it is possible.

View Table of test results in 'http://hub.qgis.org/issues/8725'

(This version of branch implements the improvement in vector-providers)
Feature #8725: FastRendering of geometries

Implements fast rendering of LineStrings and Polygons pre-applying a
view threshold filter to the geometries to render in qgis. Also disable
'Antialiasing' when it is possible.

View Table of test results in 'http://hub.qgis.org/issues/8725'
Feature #8725: Fast rendering of geometries

Fix compile errors: include "std::limits"
Feature #8725: simplification configurable

The simplification is configurable by layer, also this commit contains
reording of code.

I have pending show in the properties form of layer a check for
enable/disable the simplification
Feature #8725: check QgsFeatureRequest::NoGeometry
Feature #8725: Fix dpi bug
Feature #8725: Minor improvement
Feature #8725: Remove unnecesary setPen()
Feature  #8725: Show configuration option

Shows a new rendering tab in the layer options form for configure the
drawing simplification.
Feature #8725: Increment 2x the factor in slider
Feature #8725: drawConvexPolygon() can be faster

On some platforms (e.g. X11), the drawConvexPolygon() function can be
faster than the drawPolygon() function.

https://qt-project.org/doc/qt-4.8/qpainter.html#drawConvexPolygon
Feature #8725: Replace '*foo=bar' by 'memcpy'
Feature #8725: Disable simplify in editmode

Disable the drawing simplification when the editmode is enabled, the
geometries are cached for snapping
Feature #8725: 'AA' disabling uses layer cfg

'AA' disabling for '1-pixel geometries' uses the layer simplification
configuration
Feature #8725: Disable simplification in composer

Disable the simplification of geometries when the render request comes
from a print composition to avoid rendering quality issues
Merge remote-tracking branch 'upstream/master' into Issue_8725-OGR
Feature #8725: fix merge changes
Feature #8725: Simplification is assigned by flag

The drawing simplification can be configured using flags that indicates
what simplification type can be executed (Point, BBOX and AA)
Merge remote-tracking branch 'upstream/master' into Issue_8725-OGR
Merge remote-tracking branch 'upstream/master' into Issue_8725-OGR