Store API parameters for later usage and allow to choose the order of API detection.

Both changes are needed to provide virtual ports from the all API seclection.
Implement virtual ports for rtmidi::ALL_API
Update input tests/examples for rtmidi::ALL_API.
Update the documentation to reflect the last changes to RtMidi