use one watcher with readwrite event instead of read_watcher/write_watcher
do not reraise exception in greenlet handle loop