DOC: contains() not implemented for GratingStim

- could test if the mask has non-zero alpha at that point
- could test if the point is a sensible closeness to pos given texRes
  (define a circle of vertices and use normal .contains algorithm)
RF: refactor psychopy's iolab library and demo

- no changes to ioLabs package
- demo uses the (more accurate) clock on the ioLab bbox;
  seems like it mostly returns 1-4ms shorter estimated duration
  as compared to a core.Clock()
- button-release not working, but something like this can work
  (can get direction = -1 events but not fully working)
- changed the file name, due to git or OS issues (non-case sensitive)
ENH: y-position of builder static comp ISI label

- better position in smaller view sizes
ENH: builder static comp display, right edge
ENH: routine panel, more cosmetic changes

- draw static under time grid (per comment, and looks better)
- center label, draw on top of static rect
BF: RatingScale component: set low/high + anchorText

- low/high could be wrong if anchorText was also given
- fixed some code/str issues; $ and \$ were not working right
RF: tweak _dubiousConstantUpdates ignore list

- now also ignore the keys of the expInfo dict because these
  might be used as shortcuts for the dict entry. so if they
  appear as a var name, its plausibly not dubious so don't
  flag them.
RF: iolab.py smoothing

- some prep for bbox component
Merge pull request #358 from jeremygray/master

several commits
Merge branch 'master' of github.com:psychopy/psychopy