Fix engine/module ownership

LLVM execution engine owns the module, which owns the functions, therefore the
JITted ops must own a (shared) execution engine.

Since there is no need of a separate Emit class, the features of the Emit class
have been moved to a per-interpreter structure. This should work reasonably
well with the move to MCJIT in LLVM 3.5.