Improve Now Playing fallback and macOS visibility
Fall back to queue.first() when current index isn't set, use track.path
(instead of id) to detect metadata changes, and report Stopped as Paused
when a track is present so the macOS Now Playing widget remains visible.