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
BF: GratingStim with shaders==False was leaving textures attached
ENH: basic rendering using FBO now working inside visual.Window
ENH: speed-up by removing all use of GL_DEPTH_BUFFER (and clearing it)

When using the FBO clearing the depth buffer slows things down, and
depth testing is disabled anyway right now
ENH: Although rendering via an FBO is working but turned off by def (for speed)

also minor amendment to timeByFrames
ENH: iohub docs and new example

- added 125 line extended_iohub/datastore/events2txt.py example. It
allows someone to pick a DataStore HDF5 file using a file browser, then
select which event type they want to save to a tab delimited file using
a drop down list dialog that only includes event types for which there
is data for in the selected file. All the events of the selected type
are streamed to a .txt file using the event iterator so memory is kept
low regardless of file size. Speed depends on the event type: Message
events are saved at about 50,000 events / sec, mouse events at about
30,000 events / sec on my i7 PC for example.
- added the iohub docs to the top level dir in a folder called
iohub_docs. These have been changed to indicate the iohub merge with
psychopy and all the module paths now use psychopy.iohub. These are
interm docs until proper doc integration can be done in pscyhopy docs;
but something needs to be available until then and this is what I got.
;)  I need to have them with the iohub source so as I work on
psychopy.iohub I can keep the 'current' iohub docs updated.
- I'm not expecting that the built docs be 'hosted' the same place that
the pscyhpy docs are (unless you want to, then that would be great); I
can still have them available online using the current URL.  If you know
of a free place that could host them so that people do not need to go to
isolver-solutions.com to see the docs, please let me know, as that would
be great.
ENH: updated yaml file loading to use unicode

- previously, only strings that 'needed' to be unicode where provided as
unicode in the parsed YAML output. Now all str values are always unicode
type, so there is no need to ever check which type basestring config
value is.
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: Added missing installer script headers
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