NotePlayHandle: added property to track origin

Using the origin property we can track where a NotePlayHandle instance
originates from (Pattern, MIDI, ...) and build new functions around this.
InstrumentTrack: manage MIDI note recording in NotePlayHandle

We must not record notes when receiving external MidiNoteOff events
as e.g. the sustain pedal still might be pressed. State tracking for
features like these is done inside NotePlayHandle so move the recording-
related signal emission from InstrumentTrack to NotePlayHandle.

Closes #168.