Add automatic background braille display detection (#7741)
* Implement braille display auto detection. This new background mechanism can be activated by choosing the Automatic option from NVDA's braille display settings. See #1271 for an in depth discussion of funcionality.
* brailliantB, use generic implementation for USB serial devices
* Use generic check function for braille display drivers supporting bdDetect
* Make auto detection the default
* Set a timeout for joining the bgThread when auto detection was on
* Poll for bluetooth devices on app switches
* Support bluetooth HID in bdDetect
* Use a separate thread for background scanning.
* Make the bdDetect thread a daemon thread
* Disable auto detection within the unit test framework. If we don't do this, detection will occur and unit tests will fail.
* in braille.handler.handleGainFocus, check whether the focused object has an active tree interceptor. If so, focus the tree interceptor instead
* Revert the use a separate thread for background scanning and make sure recursion does not occur when using an APC
This reverts commit 5b97f3952348fe80db8ab06b1e9a008c105d48d0.
* Created Detector._scanQueuedSafe which wraps changing the state of _scanQueued within a lock
* Fix malformed VID and PID for Brailliant, add an extra check
* NO longer filter serial ports for Brailliant
* Updated changes.t2t