Generate wrappers for callback types embedded in structs

Some structs have fields whose type is not an API element, but is rather
embedded into the information of the struct field itself. We now
generate wrappers for these callbacks as if they were toplevel APIs.

Notice that we still do not have support for marshaling callback fields
from/to Haskell, but this gets us one step closer.