Add the reader version of monitored IO. New functions now take a send-only channel and return an io.(Reader|Writer).