/*
* call-seq:
* handle "event" { |event| block } -> Proc
* handle "event" -> Proc
*
* If block is given, it is called on given event. If no block
* was given, an existing handler is uninstalled. The handler is
* only called, if Stream#wait is called. If the block
* evaluates to false, the event is considered not handled and
* will passed to Stream#wait. Only one handler can be installed
* for each event.
*
* Returns the Proc object of the block installed.
*/
static VALUE xs_on(VALUE self, VALUE event_id) {