coroutine library with pthread-like interface in pure C