PCA9685 Output Polarity
Created by: CaiB
Fixes #37 (closed).
Forgot to implement this originally, setting the output polarity (normally-high vs normally-low) now actually applies.
Additionally, when the PCA9685 object gets garbage collected (falls out of scope, or program exiting), it will now attempt to put the device into SLEEP mode (disabling outputs). This is not guaranteed to happen however, so outputs should still be disabled safely whenever possible!
Also style improvements to get the PCA9685 class up to spec.