wtask: Add yielding I/O read/write functions

Those work on w_io_t objects which are set to non-blocking mode, and will
yield to the scheduler as soon as a read/write operation returns EAGAIN or
EWOULDBLOCK, and the I/O operation will continue when the scheduler returns
control to the task, until the I/O operation is complete.