CSS transform detection when DOM is ready

The code to detect CSS transforms requires a DOM to append an
element to. By performing this action when first called instead
of unconditionally upon library load, we can load OpenLayers in
the document's head again.
Set text style in ol.render.canvas.Immediate
Merge pull request #1709 from twpayne/fix-immediate-text-style

Set text style in ol.render.canvas.Immediate
Properly cache the css transform support result
Simplifying has2d and has3d check
Merge pull request #1707 from ahocevar/css-transform-detection

CSS transform detection when DOM is ready
Modify interaction doesn't need to store styles
Handle null line dashes for text stroke styles in ol.render.canvas.Immediate
Merge pull request #1712 from twpayne/fix-text-line-dash-immediate

Handle null line dashes for text stroke styles in ol.render.canvas.Immediate
Use minus sign as zoom out label
Better code formatting
Do not load tiles outside extents for TileWMS source
Add tests for TileWMS tileUrlFunction
Merge pull request #1697 from tonio/remove_renderer_guess

Remove `ol.RendererHints.createFromQueryData` from the library
Merge pull request #1705 from tonio/geojson_null_geometry

Allow GeoJSON features to have `null` geometries.
Merge pull request #1711 from elemoine/modify

Modify interaction doesn't need to store styles
Merge pull request #1713 from elemoine/zoomcontrol

Use minus sign as zoom out label
Remove unneeded selectors, share font-family definitions
Share styles between zoom & extent control
Make fullscreen control use shared styles