Nuvio gets real delta sync and progress sync (nuvio_sync/delta_state.rs,
progress_sync.rs), including "up next" episode resolution and per-content
progress-metadata-needs planning so the client only fetches metadata it's
missing. Trakt/Simkl provider mappers gain artwork/image URL resolution,
up-next mapping, and playback-progress merging. Continue-watching dedup
now keys off content identity (imdb/tmdb id) instead of raw provider ids,
so the same show from two providers collapses into one card.
Saving playback progress can now request a refresh of the external
provider's continue-watching row afterward (refresh_external_continue_
watching, threaded through action_contract -> headless_engine::library ->
player_policy::playback_close), and continue_watching_source moves from a
fixed enum match into library_state::normalized_continue_watching_source
so it can recognize any configured provider. Progress sync no longer
gates trakt/simkl/stremio behind the user's single watch_progress_source
preference — all connected providers sync progress.