Don't exert backpressure after the first push.

Before this commit, BaseReadableStream would immediately exert backpressure (i.e. return `false` from `push`), even if the buffer was empty at the time of being pushed into. After it, backpressure will only be exerted if the buffer is nonempty.

This sets the stage for (I think) solving #24, since before this commit, it was impossible for a BaseReadableStream to ever return `true` from `push`. After it, that is possible, as long as the stream clears its internal buffer as fast as it can.
Writable streams start writable, not waiting.

Similarly to the previous commit for readable streams, you can push one chunk into the buffer of a writable stream before it transitions to the waiting state. That way, if the chunk gets communicated to the underlying source immediately, the stream stays writable forever, and never communicates backpressure backward through the chain unnecessarily.