added an object property called midi_instance

- added midi_instance to constructor
- updated send_midi function to use midi_instance instead of instance
added an object property called midi_instance

- added midi_instance to constructor
- updated send_midi function to use midi_instance instead of instance
several changes to faciliate passing a midi instance to the constructor

- added paramter documentation for the constructor
- added the midi_interface argument to the constructor (defaulting to the instance if not provided)
- updated the bcr and bcf object creation
- modified the setmidicallback function to use this.midi_instance
- removed vestigial passing of the banks object to the bcr onmidi handler