Major rewrite landcover labelling

This commit changes the rendering of landcover labels.

For the purpose of this commit, with 'landcover label' we mean text connected to
a background colour or pattern rendering, and not connected to an icon.

* All rendered landcover tags now have their name rendered (resolves #537). We
  add labels to the following tags:
  * natural=beach,scrub,grassland,heath,sand,desert (partially resolves #788)
  * highway=services,rest_area (resolves #575)
  * aeroway=apron
  * power=station,generator,substation,sub_station
  * tourism=zoo
  * military=barracks
* The minimum zoom level of labels is now defined based on the number of pixels
  rendered (resolves partially #703, resolves #861, resolves #913).
  Labels are rendered from 3000 pixels (but never earlier than the corresponding
  landuse is rendered).
* Font size now also depends on way_pixels. In other words, larger objects get
  a larger label, in three steps (resolves #308).
* Landuse labels are now rendered oblique, to easier visually tell them apart
  from village and POI labels.
* All labels are rendered in a colour similar to the landuse they belong to
  (using landuse color variables, resolves #56). Also some existing colours
  are changed, in order to make them clearly colourful but still readable.
* The text-halo-radius and text-wrap-width properties are made consistent across
  landuse types.
* Font-size, wrap-width an face-name are now defined by easy to change
  variables.
Remove duplicate code for rendering nature reserve names
Restore national park name rendering
Don't label landuse when that landuse is a building

Also correcting text-wrap for swimming pools.
Increase wrap-width for landcover
Darken font for national park / nature reserve label
Add glacier name rendering to landuse scheme
Make text for schools a bit darker
Improve ferry rendering

* Render name for ferry routes (resolves #475)
* Resolve problems with overlapping ferries (resolves #457)
SQL for place=islet
way_pixels for rendering island and islet
Add consistent text-wrap-width to placenames

* Resolves #239
* Resolves #378
Add label for highway=bus_stop - fixes #195
Change level crossing icon
Give road labels a halo in the respective road-fill color

* This increases the legibility of labels in certain cases, for example on level crossings
* This enables #1007 (allow collisions with some symbols)
Merge branch 'math1985-road-halo'
Merge pull request #1001 from mkoniecz/busname

Add label for highway=bus_stop - fixes #195
Merge pull request #995 from sb12/level_crossing

Change level crossing symbol
Merge pull request #993 from math1985/place-wrap

Add consistent text-wrap-width to placenames
Cast layer as integer to make sure sorting behaves correctly

This resolves #674.