Client: Support incremental write for large files in `downloadBlobs()`
A custom WriteBlobCallback allows callers of downloadBlob() to download a large number of small blobs without excessive peak memory usage. However, large individual blobs (downloaded with the ByteStream API) are still loaded into memory at once before the WriteBlobCallback is invoked, resulting in excessive memory usage when downloading very large blobs.
We should find a way to support incremental writes to fix this.