opencl: make memory mapping available
opencl: option to use pinned memory for host<->device transfer during tiling

On some devices (namely AMD) direct memory transfers may give a huge performance penalty. This
is especially visible when exporting large images when darktable needs to use tiling. Now
there is a new config parameter opencl_use_pinned_memory. Setting it to TRUE can speed
up processing by a factor of 2-3. NVIDIA devices seem to have a more efficient memory transfer
technique. They deliver better performance if opencl_use_pinned_memory is left at its default FALSE.
Merge branch 'master' into opencl
usermanual: add documentation for opencl_use_pinned_memory
Merge branch 'opencl'
opencl: add slack factor to avoid pinned buffers getting too close to max_mem_alloc

derived by pure heuristics. without this factor mapping tends to fail in case of very large buffers
Add some randomness to film grain

This should make it fit to use on video frames
Update french translation.
Update french translation.
highlights: fix some sharp borders and some magenta.
[l10n] Swedish update: 6 fuzzies and 1 new string
thumbnail compression: make libsquish optional.

some poor sobs in undeveloped countries are concerned by software patents.
Update some osm-gps-map sources
fixed error handling for broken full-color images
Enable squish by default
cacorrect: clamp the bottom end to zero
(cherry picked from commit 7fd0a2bb0009f20c90356f52b13ca96aec1bdb93)
wb_presets: sony slt-a37 (stolen from ufraw)
(cherry picked from commit e8a7f3f5758e0363f0be7350d5739d4ae5cbdd99)
opencl: don't build cltest without opencl
(cherry picked from commit 8a91e8dabfd960d56c42716765357da94d5e615b)
lua : add style management

darktable.styles.# : table of styles
darktable.styles.create(image,name,description) : create a new style based on image, return the created style object
darktable.styles.delete(style) : deletes a style
darktable.styles.duplicate(style) : duplicate a style
darktable.styles.apply(style,image) : parameter order can be changed, apply the style to the image

<image>:create_style(name,[description]) : see darktable.styles.create
<image>:apply_style(style) : see darktable.styles.apply

<syle>.name : the name of the style
<style>.description : the description of the style
<style>:duplicate(image) : see darktable.styles.duplicate
<style>:delete(image) : see darktable.styles.delete
<style>:apply(image) : see darktable.styles.apply
opencl: fix a few numerical constants in CL-sources: double -> float