No need to special-case pointers in write_arg.

The catch-all case has the same behaviour.
Pull out the selection of ctypes_call/ctypes_call_errno.
Mark OCaml values as 'alloc', since references are boxed.

In practice, OCaml types can't be used as return types, so it doesn't
much whether they're marked as 'alloc'.
Tests for passing OCaml values directly to C. (WIP)
Stub support for passing values directly to C.
WIP.