Add promise#spawn coroutine support