add a tough "Coroutine"

this is a symmetric coroutine based on scala's continuation, and
there'll be some improvements for it, to make it strong enough for
production.