toplevel: trade one gptg problem for another

The original problem was that it was impossible to get a handle on
multiple anonymous functions, because getPointerToGlobal (fondly
abbreviated to gptg) resolves by function name, and anonymous functions
aren't really renamed. The new problem is that gptg crashes when
interspersed with define_function (or declare_function). This is a known
problem in LLVM trunk, and the solution is to create an OCaml wrapper
around a different function; gptg is officially deprecated in the
context of MCJIT. Until then, let's have rhine crash on multiple
toplevel functions ;)