Implement key press event

Use do() to construct a lambda callback,
then we can use key('a', do(f, *args)) to register a key handler.
Implement composable Do operations

我擦，此处的几行代码感觉自己简直神了~~~
不用中文不足以表达此时惊异的心情
在轻飘飘想出 do() 的概念后，几分钟里提出并实现了 Do 的概念