Replaces qbz path-dependencies with a standalone implementation using
tokio-tungstenite and prost. Fixes queue-clear sentinel handling, pause
position reporting, track-end queue advancement, and adds periodic
position progress reports to keep the app progress bar in sync.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move CPAL stream ownership to a dedicated output thread so play/seek restarts reuse the same open device and only reopen when sample rate or channel count changes.
When SetMaxAudioQuality triggers a stream restart, resume from the current player position instead of restarting at the beginning to avoid audible jumps and keep UX consistent.
Send file/device audio-quality notifications even when stream metadata is incomplete by deriving sane defaults from the requested quality level, so controller quality icons stay in sync.
Make RNDR_SRVR_MAX_AUDIO_QUALITY_CHANGED send network_type only when explicitly provided so controllers can treat the update as generic renderer quality.