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)
lua : make typeid functions actually be typeid based and not name based
lua : create a generic way to handle singletons

we have enough of these that they deserve proper handling
lua : only have ipairs if we have len
lua : remove a stray \n in preference description
lua : when introspecting in debug mode and an object has no metatable, report it
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.
grain: allow finer grain
(cherry picked from commit 5839209d9262008088809dfdaa78efd2a5f3959f)
lowpass: don't exagerate default blur
(cherry picked from commit 2d1b641425677f8d4a4a499ef0b11475428c978d)
update of dutch translations