CTypes based Icarus Verilog VPI interface.

Provides have an almost complete (but largely untested) VPI implementation
bound to OCaml with Ctypes.

The current example builds an OCaml bytecode based VPI plugin which
registers a simple verilog task.  This can then be loaded into the
Icarus verilog simulator and the task called from verilog.

This is the basic framework needed for doing cosimulation with hardcaml
and a verilog simulation, which is the next step.