Migrate host code generation to compilation module

Rather than building a wrapper that takes PyObjects and unpacks them
into data, just write a wrapper with C types.  Now that we're using
ctypes to load the shared library we build, we just need to set the
argument type up appropriately on the ctypes function pointer.
Remove references to instant

No need to require it as part of the installation, or mention it in the
backend documentation.
Pass -std=c99 to preprocessor

We compile with c99 (and some of our header files are not c89
compatible), so pass that flag to the preprocessor too.