Use a thread pool for the threaded music loader.
Large music libraries can cause dozens/hundreds or even more of threads to be created at once. But all we really need is to do the loading off of the GUI thread, and the I/O will be the bottleneck no matter how many threads we use. So use Qt Concurrent to manage a threadpool instead, which also simplifies the code somewhat. I also fixed the broken global status updating when using threaded loader while refactoring to support this.
Showing with 63 additions and 46 deletions