* major refactoring for better seperation of api and controller
* api can now fully be used without the need to create a controller object
* the controller class now has build in methods for all its features (that call the necessary api method themselves)
* the update_state method has been moved to the controller, the api now has a get_state method instead
* updated examples
* the get_time() method will now return None if there is no time set on the device