Unified coroutine API that is available in both runtime and Unity editor.
Features:
- Same API in both runtime and Unity Editor.
- Support Unity built-in yield instructions.
- Support nested coroutines.
- Controls how frequently the coroutine is updated.
- Extensible to use any type of objects as yield instruction.