Revert "Async I/O: Pass a context."

This reverts commit

This breaks the API in a way that is hard to catch and there are better
ways to store a context for a stream (for example inside the target
object or in a dictionary).