Driver refactoring.

There will now be a couple of base classes for drivers which can be
implemented when programming a new driver. Those will take care of some
often needed logic (network, state, action binding, ...) and provide common
interfaces but leave the rest to the driver programmer for more flexibility.
Led implementation using new driver framework.

Right now only the led driver is implemented, the proxy and network led
are still to be done.
Code style changes