Slice Blobs before pulling out the binary data.

When using as a web worker, I was seeing large (hundred of MB) files crash the browser (latest Chrome and Firefox) when passed in to the worker as a Blob. This appeared to be happening when readAsBinaryString was called on the entire Blob, presumably because it was attempting to load the entire file contents. These changes slice the blob prior to using readAsBinaryString.