fix cwrapper so that we don't rely on how clang translates type names into LLVM.
instead we place the types in a C function with a know name and extract the llvm type
by looking at the equivalent type in the generated LLVM function.