Smart mode for episode title-match: only intervene when library order differs from TMDB.
Cache now stores both title-to-still and (S,E)-to-title maps per (show, language). Provider checks position-based title first; if it matches the local title, returns empty so the built-in TMDB image provider's full image set comes through unchanged. Only when the position-title differs from local-title (alternative ordering) do we inject the title-matched still.
Net effect for users:
- In-sync shows: no behavioral change, full alt-still selection in the UI
- Alt-order shows (Bluey etc.): correct image automatically substituted
- One-time API cost per (show, language) for both modes, same as before
Also casts ep.EpisodeNumber to int. TMDbLib types it as long, our tuple key uses int.