CRAS: hfp - Consolidate SCO connection functions

The cras_hfp_alsa_iodev path requires SCO connection
setup but doesn't do HCI SCO packets read/write.

This change refactors the functions of cras_sco in
a few ways:
(1) pass cras_sco instance to cras_hfp_alsa_iodev
constructor and tracks its reference through
add/remove dev just like how cras_hfp_iodev does it.
(2) expose set/get_fd for cras_hfp_alsa_iodev usage

With above we can remove the old cras_bt_device_get/put
SCO function and consolidate offloading and non-offloading
path to use the single cras_bt_device_connect_sco APi.
This will benefit future change to extend SCO connection
configuration.

BUG=b:183594508
TEST=emerge, unittest

Change-Id: I0a2e87f2d61b1c80aa485ff28e029162e5e7f135
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/adhd/+/2853171
Reviewed-by: Hsinyu Chao <hychao@chromium.org>
Commit-Queue: Hsinyu Chao <hychao@chromium.org>
Tested-by: Hsinyu Chao <hychao@chromium.org>
10 files changed