Removed dependence of GenericInstrument on MidiIn

This resolves issue #17. MidiIn renamed to MidiListener. The MidiListener must
be explicitly initialized with the instrument it handles. Also slights tweaks in
the design of the MidiListener.