return self from #on instead of reader or writer

this leads to really confusing bugs, because chaining #on has crazy
semantics.
Merge pull request #1 from nathan7/on-return-self

return self from #on instead of reader or writer