Removed old event stuff
Button renaming

Sensors are split into (at least) two classes: One that knows how to
communicate with the hardware (currently has the suffix "Driver") and
one that interprets the data from the driver (now just called Button).
This way different drivers can be used without changing the interpreting
logic. Also classes remain smaller and can be used seperately.
Simple button event implementation

The event dispatching logic should probably be moved to a base class,
maybe along with the logic to execute specific actions. Should also
think about nesting classes.
Renamed SensorListener to ISensorHandler

The I in front of a class name marks the class as an interface. An
interface should only have purely abstract methods.
Implemented event dispatching mechanism

The template class EventDispatcher can now be subclassed by all classes
generating and dispatching events to registered handlers. To do so the
child class must implement a dispatch(Handler, Event) method to notify
a handler about the event. This allows for custom handler and event
interfaces while still moving common code to a base class. The only draw
back is that the base class is a template class and will thus be
generated by the compiler for every (different) child class meaning no
(or almost no) memory saving at runtime.