also initialize binding_oracle_datum
implement compilation API

This implements the compilation API.
It steals a bit of code from the JIT and has a few
new hacks as well.