qt: use async api to query data for playing ml media
Removes usage of getIdsForIndexes/getIdForIndex, they only check the current cache of the ML model for data and will fail for out-of-cache access. This may cause edge case failures. This MR aims to replace these functions entirely with new functions that can directly access to the media library source asynchronously.