Switch to struct udp_io model

- Use the libev recommended model of passing an io object to
  responders.