Support cl_khr_fp16 correctly

Properly provide the cl_khr_fp16 OpenCL extension for kernel library functions.

Disable cl_khr_fp16 on platforms where it is not supported.