RF: better syntax checking in builder code components

- avoids using a file = simpler, faster
- use named-colors more (instead of hard-coded values)
BF: fix label for Name field display in component dialog
RF: better code for _dubiousConstantUpdates

- simpler code, higher accuracy
- avoids using eval by using compile()
NF: components dialog: code $ switches to monospace font
RF: new BufferImageStim demo

- ~30% shorter, no flickering if it is bad
BF: need codecs in builder.py

I introduced this bug very recently.
BF: microphone was failing to create unique filenames

- bug introduced by JRG in 534fdc6 April 26th, 2012
- effect of bug: recording data likely overwritten
- also add ms into file names, in case people record more than one per second
changelogs
ENH: Builder: strip trailing whitespace from field values; closes #297

- warn and remove trailing whitespace in str or code components
  because it can cause problems, seems unlikely to be intended (except for Text)
- don't touch Text fields, e.g., user might actually want only whitespace
- only happens once, at compile time
  changes the actual experiment: removes not just ignores whitespace
- for now, warnings are just printed; logging.warning() not working
BF: fixes to Builder component white-space and dubious value detection
RF: better dubious constant update warnings

- was warning about 'None', 'True', etc
RF: better internal code structure for Flow.writeCode()
DOC: new demo for speech2text

replaces say_rgb.py demo; greatly improved
mic.png from IconSweets 2 by Yummygum. License: Free for commercial use.
http://www.iconfinder.com/icondetails/62932/40/microphone_rain_record_umbrella_icon
RF: speech recognition demo; better, smoother

- provide hook to allow en-UK as option to google-speech
- more accurate visual feedback about when you can talk
- bug fix in visual._isValidColor (handle null condition better)
RF: update polygon contains to use matplotlib v1.2 features

- v1.1 usage (pnpoly, points_inside_poly) is deprecated and had a bug
- PsychoPy shapeContains demo runs fine
NF: web.requireInternetAccess()

- used in speech-recognition demo
- useful more broadly, eg, web.upload
RF: Speech2Text internals

- cache FLAC_PATH to avoid multiple calls
- avoid 'file' as var name
- use NamedTemporaryFile for wav -> flac conversion
- remove obsolete references to core.runningThreads
Merge remote-tracking branch 'jeremy/master'

Conflicts:
	docs/source/changelog.rst
	psychopy/CHANGELOG.txt