FR: Allow MIDI open functions to propagate return codes

Hi, MIDI open functions consume error codes allowing little feedback from users when device open fails. Would be useful is result code was propagated up the the API level we could display something to the user which might help track down the problem