Audit of all external calls across explore components, with local
sources checked first:
1. loadThumbnails: seeds thumbnailCache from library album cover
art (CoverArtMedium/Small by MBID) before building the API
request list. Library albums show cover art instantly; only
non-library albums hit the GetThumbnails API.
2. loadArtistImages: seeds artistImageCache from library store
(ImageMedium/Small by MBID) before the sequential API loop.
Library artists show images instantly; only non-library artists
hit GetArtistImageURL.
3. checkLibrary (explore-view): checks library store MBIDs
frontend-side for artists and albums. Only falls back to
CheckLibraryMBIDs API for recordings (not in library store).
4. checkLibrary (artist-details): same frontend-first approach
using library album MBIDs.
5. hydrateFromCache (artist-details): now also checks library
store directly for artist images when explore cache is empty
(handles direct navigation without prior search).