Bluetooth Client component should connect non-blocking (asynchronous)

Currently Bluetooth Client component (BT for short) Connect method call is blocking - whole app hangs waiting until connect returns success or fail (even longer). It is heavy blocking operation similar to big file reads.
Requested way is to make it non-blocking similar to file reads:

  1. Connect should return true if BT adapter Available AND Enabled else false.
  2. OnConnect should be called back by BT with result true (if connected) or false (if not connected).