opencl: workaround for compiler bug in Apple opencl implementation

Apple's implementation fails during init of private filter array. we use global
of a 2D filter array, initialized from host instead. slightly slows down processing on very
fast devices (HD7950) but speeds up processing on some others (GTS450)
(cherry picked from commit 9e4ed3b4e6b81f922fd444facbdafdfc45b619af)
opencl: make all numerical float constants well-behaving; fixes #9478

the ability to properly parse valid float constants has been taken away
from recent OpenCL compilers for whatever reason. so we need a workaround.
(cherry picked from commit 1c6d71d56dfebc072075550cb19a038d557bda0a)