use an output callback instead of a timeout (it's much faster)

and let iomux_run() take more time to capture updates otherwise it's going to be too intensive
if we only have silent filedesciptors