Shift ptr into LLVM.Build, add llvm.gcroot to Preamble.
Mark roots for non-basic function arguments.

Still have to do intermediate results returned from functions.