Refactor device and connection

- Connections are now a collection of Adaptors
- Devices are now a collection of Drivers
- Add Event(string) function instead of Events[string] for retrieving Driver event 
- Add AddEvent(string) function to register an event on a Driver