UI and UX improvements across the library and queue screens.
- Add pinch-to-zoom for library grid views with animated extent
transitions via _AnimatedLibrarySliverGrid widget
- Replace fixed grid column count with responsive maxCrossAxisExtent
- Add smooth fade-in for cover images (local files via frameBuilder,
network via CachedCoverImage fadeInDuration/fadeOutDuration params)
- Refactor track metadata swipe navigation from push+pop to
pushReplacement to prevent route stack accumulation
- Convert adjacentHorizontalPageRoute to MaterialPageRoute subclass
to support pushReplacement with proper transition semantics
- Add five new metadata completeness filters: missing track number,
missing disc number, missing artist, incorrect ISRC format, and
missing label
- Expose trackNumber, discNumber, isrc, and label on
UnifiedLibraryItem for filter support
- Tighten metadata completeness definition to include all new fields
- Add CoverCacheManager service for persistent image caching
- Cache stored in app_flutter/cover_cache/ (not cleared by system)
- Maximum 1000 images cached for up to 365 days
- Update all 11 screens to use persistent cache manager
- Add flutter_cache_manager and path dependencies
- Update CHANGELOG.md with all changes for v3.1.3