rt/io types are generally not allowed to reach into `uvio` and the `uv` module. This should go through the `IoFactory` object to receive a `~Trait` proxy. The reason for this is to allow for a different event loop to implement these functions differently.