Implement mpv JSON IPC backend for non-blocking playback, streamed
metadata (media-title/icy-title), and runtime controls (pause, mute,
volume, next/prev). Extend Player interface and wire a two-stage TUI
that switches to a dedicated playback view with keyboard shortcuts and
a styled hint bar. Fallback to legacy player when mpv is unavailable.
Move browser, config, player, and radio logic into internal/{config,radio,player,ui,version}.
Add cached API host resolution, context-aware HTTP client, and nil/length guards to eliminate
RandomIP, nslookup, reverseLookup, and GetStations panics. Replace subExecute with clean
legacyPlayer using Run-only execution. Fix inverted -short test guards, unformatted config
error messages, and "Erorr" typo. Remove obsolete vendor/GOPATH logic from build scripts.
Update callers in stations.go and radiomenu.go to new paths; retain shims for transition.