ENH: TextBox stim

* Added 2 methods to TextBox class:
+getTextGridCellPlacement(): return a numpy array giving the pos, width,
and         height of each textgrid cell inthe Textbox.
+ getGlyphPositionForTextIndex(i): return the bounding box for the text
character at index i within the text displayed. This is != to the
textgrid cell the char is in, instead is the bounding box of the draw
glyph itself.

* Changed examples:

- simple_textbox: straight forward TextBox use, showing 2 different uses
of common params.
- textbox_glypth_placement: displays the mouse cursor with the current
mouse x,y window position (in monitor units), useful for checking the
accuracy of the
information returned by getGlyphPositionForTextIndex()
- textstim_vs_textbox.py: test different timing conditions for the
TextBox and TextStim, allowing a user to check what performance (and
differences) to expect with the two text stim types with a string of a
specified length.
TESTS: fix to the test of ipython import
BF: iohub Touch Device OS X fixes.

+ some general usability fixes in the touch device demo.
Merge branch 'master' of git://github.com/psychopy/psychopy
BF: fixed error in __del__ of TextBox FontManager
Merge pull request #441 from isolver/master

ENH: TextBox stim
ENH: User defined font files can be added...

to the FontManager TextBox uses
Merge branch 'master' of git://github.com/psychopy/psychopy
Merge pull request #442 from isolver/master

ENH: User defined font files can be added to the FontManager used by TextBox.