The `__anext__` method of an asynchronous generator defined using the
`async def`/`yield` syntax returns an actual coroutine not just any
awaitable. Let the definition of the `AsyncGenerator` protocol reflect
this circumstance.
See https://discuss.python.org/t/types-for-asynchronous-generators-too-general/64515
for the motivation behind this change.