Show text when downloading
Hide progress indicator if download fails
Save episodes in chunks (Fix bug 869812)

This saves podcast episodes in a crude-yet-simply-effective way to IndexedDB.
Retrieving the stored arrayBuffers from IndexedDB and assembling a new `Blob`
object from them SEEMS not to OOM the app on phones, though it still spikes
memory usage.

Also fixes some type hacks used previously.
Clean up episode model code