`qdlDevice#flashBlob` and `firehose#cmdProgram` currently expect a blob with the entire image to flash upfront - ~~Use WebUSB from worker? https://chromestatus.com/feature/5928209916887040~~ that would be in flash - Modify `sparse.js` to handle splitting up a `ReadableStream` into chunks for `firehose.js`