Check Bluetooth availability in background
Add a background task that polls the server (and re-checks on server
notifications) and updates BluetoothState::available. Use
std::sync::mpsc to avoid cross-runtime waker issues when bridging tokio
-> GPUI. Separate device fetching (now updates BluetoothState::devices)
and make observe_global registrations use .detach() instead of assigning
to an unused result.