lib, daemon: move hci_socket IO processing into class
When hci_socket was first written, the idea was to keep it main loop agnostic, by providing a function to call when data was ready. During the integration of bthidd, the new classes ended up depending on libev to manage their IO and the agonstic stance was reconsidered.
Since the library already depends on libev, the IO processing for the hci_socket may as well be moved into the class for a cleaner API.