UI Revamp and Connection Rewrite

UI has been revamped

* When you first open the app, you'll be greeted by a new list-based main screen.
  * The list loads all paired, and pairable, devices in black, as well as any paired devices that 
    are out of range, in gray. Here, paired is defined as `a device which the app has previously unlocked`.
  * Clicking on an in-range device will connect with it and check its lock/unlock status.

Connection library has been rewritten

* `Connection` only provides simple read/write access to BT device; it has no knowledge of
  the drive or its communication scheme.
* All drive-related communication requests happen through `Drive`

Also

* All UI changes happen on the UI thread, appropriately