RF: trim trailing whitespace (no code changes)
LOGS: fewer warnings on XML import about duplicate variable names
ENH+TEST: remove .speex format option, more coverage of microphone.py
ENH: Updated iohub demo folder structure

+ added / cleaned up ioSync demos
BF: removed imports of module (textbox.fontStore)

the module does not exist anymore.
BF: ioSync Linux auto connect
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.
RF: use multiple inheritance for BaseVisualStim

same function, better code structure
Merge pull request #540 from jeremygray/master

misc: whitespace, logs, tests, RF BaseVisualStim inheritance
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"
BF: Raise exception if freetype dll is not found
ioHub Docs update
updated iohub version
BF: removed unwanted commented out code
DOCS: restructuring to have more 'about' sections
Merge branch 'master' of github.com:psychopy/psychopy
RF: BaseVisual as base + mixins

see discussion of multiple inheritance on dev list March 23-25 2014
Merge pull request #545 from jeremygray/master

RF: BaseVisual as base + mixins; closes #541