Add read() method to ReadableByteStream

Of course, there could be some kind of source that can write generated data directly to an ArrayBuffer but also can return how much data can be read first and then accept the memory and write data to it.

Hmm. For ReadableByteStream, shall we just define prototype.read() as wrapper that calls underlying source's read() method? The issue above is specific to underlying source that doesn't tell us how much data will be read.