Stores caches for offline use by an ongoing service.

WIP
Offloaded cache downloading to a separate thread...

...such that multiple calls to the cache downloader will add all download
of caches for offline use to the same queue.

BUG: Currently multiple downloader threads are started, and the notification
will flicker between the two threads.