BF : Microphone, and non-english Windows

The problem here was that if there was a Unicode error, the _bestDriver method would just return None, None and leave it to that (so the pyo object could not be created). The problem would have been the same if the user entered wrong driver names in the PsychoPy preferences.

With this simple new code, the _bestDriver method checks for the drivers written in the preferences, and uses the default one if none is found or an Unicode warning is thrown.

Even if this solution works, I don't know if the pyo.pa_get_default_* methods return None on error (this isn't written in PYO documentation). It should be checked if possible, to change the following inputID test accordingly if necessary.