Add missing as_{float,double} functions
Implement isnan() builtin
Implement nextafter() builtin

There are two implementations of nextafter():
1. Using clang's __builtin_nextafter.  Clang replaces this builtin with
a call to nextafter which is part of libm.  Therefore, this
implementation will only work for targets with an implementation of
libm (e.g. most CPU targets).

2. The other implementation is written in OpenCL C.  This function is
known internally as __clc_nextafter and can be used by targets that
don't have access to libm.
Implement sign() builtin
Port pocl's gen_convert.py script to libclc

This script generates implementations for the entire set of convert_*
functions,
Use getPointerSizeInBits() rather than 8 * getPointerSize()