add new shim to fix 0.10.0

This shim is a bit more of a sledgehammer approach. It creates two new streams with their `_write` and `_read` methods intertwined such that writing to one will push data to the other, and react correctly to backpressure etc. Reading from the other will also alleviate the backpressure on the first. The `end`, `finish` and `error` events are also wired up to propagate state from one stream to the other.