FF: BufferImageStim

partial fix, needs work still.
- this improves things visually but it seems odd, not sure why it works:
  self.thisScale = numpy.array([4, 4])
- text is a pixelated around the edges in a BufferImage;
  to see run coder demo > stimuli > bufferImageStim.py
- non-fullscreen-capture is not right
Changes in the default font for Coder window.
Changes were applied to generateSpec.py, and then the files with configs for
different operating systems.
Merge branch 'master' of https://github.com/yemu/psychopy into fix-prefs

* 'master' of https://github.com/yemu/psychopy:
  Changes in the default font for Coder window. Changes were applied to generateSpec.py, and then the files with configs for different operating systems.

- trying to preserve Cezary's work on prefs while I clean up my own prefs edits
FF: clean-up prefs base spec + platform specific
DOC: edit comment about possible logging failure conditions
ENH: sound from a file sets its status to finished when done

- merely sets .status (by calling _onEOS) after its duration has elapsed
- seems like this behavior was intended with the _onEOS function
- doing so makes the intuitive thing happen in Builder sound components:
  blank duration = play for length of the file
- can disable with mysound.play(autoStop=False) ==> revert to old behavior
- may need more work for two of the same component in succession (seems ok now)
ENH: Added TrialHandler support to ioDataStore

Standard psychopy TrialHandler's can now be used to create a table in
the ioDataStore which can hold the values of trial rows as they are used
during the experiment. See
psychopy.iohub.client.ioHubConnection.createTrialHandlerRecordTable
method comments for usage example.

The ioHub ExperimentVariableProvider class should likely be deprecated
in favour of using psychopy's standard TrialHandler.
NF: SoundPyo looping, parallels SoundPygame looping

- pyo internal looping is none or forever
- handle loop count by terminating after clip duration * loop count
  pros: simple, effective, smooth loop transitions (b/c in pyo)
  con: not sample-accurate end time (probably several ms off, not tested)
     this could mean that the offset is no longer apodized
- issue: apodized sounds can have a quiet dip at the loop point
- don't want a pyo _onEOS callback even if its possible (which is doubtful)
ENH: add stop option to microphone.playback()
ENH mic.playback(stop)

just return if get a stop before having started a playback
adapt matplotlib gitignore, which is more structured
add .desktop file and only install windows post_install on windows
Merge pull request #372 from jeremygray/master

several small commits, no BFs
move general-purpose funcs and classes to misc
clean up formatting of visual.py setup-up section
create visual package to replace visual module
move contents of visual.py to own files
remove now-empty visual.py
remove unnecessary setup from visual modules
move isValidColor to psychopy.colors