Disconnecting and removing remote devices hold device_list_cs before blocking on the DBus event loop, which may cause a deadlock if we receive a message from BlueZ whose handler also attempts to enter device_list_cs (Like BLUETOOTH_WATCHER_EVENT_TYPE_DEVICE_PROPERTIES_CHANGED). To fix this, the device/radio handle is duplicated once found, device_list_cs is released, and the DBus method call is made using the duplicate handle(s), which are then freed normally.
Also, replace the two locks in `bluetooth_radio` with `device_list_cs` instead.
-- v2: winebth.sys: Fix potential deadlocks while performing operations that block on the DBus event loop. winebth.sys: Unify critical sections used for bluetooth_radio.