Do not implement kernel functions for half type

This doesn't work on most architectures, and is also not part of the OpenCL standard.
Omit unnecessary "-x c" when compiling C files
select.cl: Convert to unsigned for bit manipulations
Implement vload_half and vstore_half manually except on ARM

LLVM does not support half operations except on ARM.