bleDevicesForUi
Combined bonded + scanned BLE devices for the UI.
Sorted for stability to prevent "shifting" as advertisements arrive: bonded devices always appear first (sorted by name), followed by unbonded scanned devices in the order they were first discovered. RSSI updates are reflected on the cards but do not trigger a re-sort.