A coroutine library for c/c++