Allow custom stream implementations to work with the reader

Implements option 3 of https://github.com/whatwg/streams/pull/251. Now the tests are passing since ReadableByteStream can participate in locking as well.