Allows song select to load a touch faster, in theory.
Also moves delete and action logic to a shared implementation
Also add finaliser logic for safety. Also better threading. Also more cleanup.
Not yet working
Resolves #1941.
This avoids race conditions where a second download can potentially be started while the first is still active.
codefactor.io \(o.o)/ also one unnecessary semicolon
Also - Fixes first transition depth being incorrect. - Improves smoothness of transitions (and adds a slight delay to offset from screen switches).