ENH: component name validation
BF/NF microphone getRMSBins

- getRMS now uses numpy.std to avoid occasional error
changelogs
DEMO mental rotation

- classroom tested, works in single subjects
- illustrates using a temporary .csv file to save data
- parse data with pandas, display in a plot, print data suitable for copy &
  paste into a google-doc for group analysis
DEMO: improved user experience

- avoid full screen
- enable 'escape'
Merge pull request #422 from piwaniuk/validators

Validator for component name
ENH: Better AV timing by moving on-flip functions
FIX: revert unnecessary change
ENH: Better parallel port handling
Merge pull request #428 from Eric89GXL/parallel-fix

ENH: Better parallel port handling
Merge pull request #423 from Eric89GXL/sync-fix

FIX: Pyglet vsync fix
Merge pull request #426 from jeremygray/master

microphone loudness RMS; demo mental rotation
BF: Fix AttributeError on error in MovieStim

Not available logging.Error() was called instead of logging.error().

Found by pylint.
BF: Fix NameError in filters.makeGrating()

Not available Float was used instead of type float.

Found by pylint.
BF: Fix AttributeError and NameError

There were typos in what seems to be an unused class.

Found by pylint.
ENH: Fix typos in docstrings
DOC: Fix duplicate words in documentation
ENH: Fix typo and double quote in docstrings
BF: Fix AttributeError in float_uint16()

float_unit16() tried to access numpy.UnsignedInt16 which is not
available. This was fixed by using numpy.uint16.

Found by pylint.
ENH: Add doctests for two utility functions