add deque to array alloc benchmark
support building without dlopen support

Conflicts:
	SConstruct
drop use of xml entities in text-font-features test - fixes #2590
update visual test images for #2590
markers: support restyling svg stroke and fill without limit - closes #2609 - refs mapnik/mapnik-support#27
change config_error to std::runtime_error in scale_hsla struct
Merge pull request #2610 from kernelsanders/master

change config_error to std::runtime_error in scale_hsla struct
consistent std::move in image data move ctor
new dot symbolizer for fast rendering of points - refs #1651 mapbox/mapnik-vector-tile#62 #2612
shape.input - avoid expensive hit_test and instead use relatively cheap orientation test to distinguish
between inner and outter rings (Polygon/NultiPolygon) -- ref #2151  https://github.com/mapbox/unpacker/issues/324

```txt
A polygon consists of one or more rings. A ring is a connected sequence of four or more
points that form a closed, non-self-intersecting loop. A polygon may contain multiple
outer rings. The order of vertices or orientation for a ring indicates which side of the ring
is the interior of the polygon. The neighborhood to the right of an observer walking along
the ring in vertex order is the neighborhood inside the polygon. Vertices of rings defining
holes in polygons are in a counterclockwise direction. Vertices for a single, ringed
polygon are, therefore, always in clockwise order. The rings of a polygon are referred to
as its parts.
```
Merge branch 'master' of github.com:mapnik/mapnik into image_data_any

Conflicts:
	tests/visual_tests/images/dots-500-100-1.0-agg-reference.png
	tests/visual_tests/images/dots-500-100-2.0-agg-reference.png
	tests/visual_tests/images/marker-svg-opacity-500-100-1.0-agg-reference.png
	tests/visual_tests/images/marker-svg-opacity-500-100-2.0-agg-reference.png