Rewriting MIDI

Changed CoreMIDI interaction to always run in a dedicate thread, spawned
at initialization time. Interactions with this thread is only granted through
sessions, which are guaranteed not to overlap anyway.

Tested with tools/plug_midi.c and device enumeration etc. seems to work.

TODO open/close and send/receive.

See #85