* Make TagReaderClient a singleton until it's easier to pass dependencies around * Add a WaitForSignal() that uses a local event loop to wait for a signal to be emitted * Add a WaitForFinished() to _MessageReplyBase that blocks using a semaphore * Add blocking versions of all TagReaderClient methods * Use the TagReaderClient everywhere that Song::InitFromFile and friends were used before