Coroutines docs refactoring

My conscience was biting me, so I updated the docs. The biggest changes:
* split user/developer coroutine docs
* filters take consumer as their *last* argument which is consistent with the former docs
* Fix the coroutine docs to be readable (the wrapping problem)