cross-platform coroutine library of c++