* Guardians:
CHECK  - Implement guardians. 
CHECK  - clean up after file ports are dead by flushing/closing the
         underlying file handle.

* Interrupts:
  - pcb should have an engine-counter field that's decremented on
    every procedure call.
  - an engine-expired procedure must be called when the counter goes
    negative.  It should capture the current continuation and
    reschedule the process.
  - figure out what to do when a process gets interrupted while
    reading from a file.
  - Implement [CTRL-C] keyboard interruption with the ability to
    resume the computation, reset to the repl, or terminate the
    program (at least for now).

* FFI: 
  - provide a general mechanism for calling foreign procedures
    without having to extend the VM.
    (foreign-call void: FOO int32: x char*: y ptr: z)
  - may dump the bignum stuff in the VM and move it to scheme.