Implemented MidiListener and MidiEvent.

Renamed Event to ServerEvent and re-rooted all Event subclasses on a new
Event subclass.