new decorator hub_coroutine

like gen.coroutine, test at backdoor
simplify handle_input in backdoor
use hub_coroutine instead of to_hub