- Improve responsiveness by downloading the smallest possible chunk
size when seeking or first loading.
- Improve download time and decrease CPU usage by downloading the
largest possible chunk size as throughput allows, still allowing
for reasonable seek responsiveness (~1 second).
- As a result, take refactoring opportunities: simplify prefetching
logic, download threading, command sending, and some ergonomics.
- Fix disappearing controls in the Spotify mobile UI while loading.
- Fix handling of seek, pause, and play commands while loading.
- Fix download rate calculation (don't use the Mercury rate).
- Fix ping time calculation under lock contention.