Make asynchronous functions behave asynchronously even during exception cases
Add basic debugging using debug module
Move functions into module constructor to better clean up and hide public / private properties
Correct hardware version check. Fixes #6
Bump to v0.3.3