Bitcast globals to i8*

This ensures LLVM instructions deal with the same backend types
(particularly comparing pointers, building phi nodes)