LLVMAPI: The type generator added .0 to the opaque image types as it was already created
in the global context in the build phase. Thus, the argument detection logic didn't match
if, causing the image tests to fail. Now simply do not use the global context when producing
the BC.
The metadata struct passed to the (heterogeneous) device launcher code contained unnecessary fields.
Removed them and also generated constant values in the LLVMAPI. Fixes FP16 of TCE for LLVMAPI.