BF and DOC : StairHandler using wrong stepSizes

BF : StairHandler was using the wrong stepSizes after a reversal : it applied the intensity increase/decrease BEFORE changing the step. This always made the first intensity change (after a reversal) use the former step.

DOC : updated comments about the StairHandler to include the fact that nUp and nDown are always considered as 1 until the first reversal is reached.
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.
BF : Unicode warnings and errors in microphone

I've found what the Unicode problem was (I believe).

devString is already encoded by the OS character encoding, so trying to encode it again results in an error. We must first decode it, and then re-encode it in utf-8 to compare with the utf-8 encoded prefDriver. The problem was to make the code compatible with multiple versions of Windows that may not be using the same character encoding.

sys.getfilesystemencoding() should do the trick, but I need someone to test it at least on an english windows version, and it would be great to test it on others too. On my french version, it's working fine and no warnings are being thrown anymore.

Plus I added a .lower() to make it non case-sensitive.
Fix : wrong inputID test

There was another "if inputID" instead of "if inputID is not None"
Merge pull request #539 from larigaldie-n/master

BF and DOC : StairHandler using wrong stepSizes
Merge pull request #546 from jeremygray/master

RF: basevisual - minor comments and clean-up
TESTS: fixed test of StairHandler
FF: Window.bitsMode isn't always defined now, but Window.bits should be