@cerupcat had the idea of making the SongPlayer
independent of the MidiOut object by suing a callback
method to recieve midi events. This has the advantage
of being able to drive multiple midi outputs from a
single song player object.

see - -https://github.com/cerupcat/ofxMidiLab

Unfortunately he didn't use a fork, so I can't
take a pull request from that repo. I've reapplied
his modification here. Note that he didn't modify
the MidiRtEvent object in any way from the way I
wrote it, so I restored my copyright notice.