Fp16 api

Please add comments about what the two macros mean. The first one means the standard OpenCL behavior of having the halfs as storage only format? Then, actually, is that macro really needed as per standard it should be supported? The latter one means native support for FP16 computation and includes the built-in functions for halfs.