assign midi port via descriptor

still needs exclusive support somehow
better error handling on port-holder