opencl: make a few numerical constants more well-behaving on Mac OpenCL

seems that the OSX opencl compiler (Apple's own, not the NVIDIA or AMD one) has
an issue with certain valid but uncommon float constants like "1.f".
opencl: do not use NVIDIA sm20 extensions with Mac OpenCL

the OSX opencl compiler does not understand inline asm instructions.
therefore we need to treat all NVIDIA GPUs on Macs as if they have no
atomic_add_f32 and use emulation code instead.