Reliability issues fixed
This has been totally rebuilt using the built-in OralB integration as the basis.
Rather than using DataUpdateCoordinator to poll and then make a Bluetooth connection, it now uses ActiveBluetoothProcessorCoordinator, which makes for a much more reliable experience.