The immediate things to do are
PolledEvents setup
	     with a linked-list approach managed centrally
	    in the same way that addInputHander works.
	addInputHandler(),
	    addPolledEventHandler(), etc. that pass the information
	    to Tcl/Tk, Gtk, etc. when R is embedded in those applications.
	setReader() for connections,
	      Window
      structure.
      
  To do this, we need to
eval() can be made non-recursive.
	    This has the potential to make it possible for us
            to schedule different interpreters ourselves
	    without the need for operating system threads.
      Hopefully we will also be able to provide an interface which supports both process-level threads and distributed computing across machines.