Add a better subscription model, add support for buttons/leds
Add a better subscription model, add support for buttons/leds

Rework the event handling to add a better subscription model. We now
dispatch not just which object changed but what the event was, with
relevant parameters. Old mechanism is still supported but is marked
as deprecated.

We also now support buttons and leds as first class citizens. User
can register for events, as well as toggle LEDs, press buttons, etc.

Lastly, add some type signtatures in a few places.

thecynic/pylutron