OpenCL: Added double precision checker where missing and rearranged for lower latency.

Now the double precision check is only run if a new program has to be compiled.