ocl module float precision

1. Remove unnecessary bitwise operation double support type checking
2. On device with cl_khr_fp64, double support will be automatically on;
anywhere else will be off initially
3. User now has an optional global function to set whether or not to use
fp64 for the current device in Context. If they really want to increase
algorithm accuracy on platforms whose double_support is off initially
(for example AMD APU) but with partial fp64 support (cl_amd_fp64), he
can call setFloatPrecision(WHEN_POSSIBLE).