Initial support for Tobii EyeX on windows

Note that this requires the Tobii EyeX drivers from
http://developer.tobii.com/eyex-sdk/
Add EyeX to selectTracker sample
Refactor structs in preparation for more
Correct-ish data timestamp delay calculations
Correcting timestamp stuff as close as we can get
BF: iohub keyboard release event

auto_repeated field being set to None on Linux when the key was not
found in the pressed_events dict.
Merge branch 'master' of git://github.com/psychopy/psychopy
BF: using Window._getFrame('front') returned grey when useFBO=True

we need to unbind the FBO buffer before using glReadBuffer
ENH: iohub process and client connection updates

+ Added enableRealTimePriority  and disableRealTimePriority methods to
ioHubConnection class

+ ioHubConnection should now be using a standard python socket to
connect to the iohub server. It was using a gevent socket, which was
unnecessary, and caused issues when ioHubConnection instance was created
in main thread and events were accessed in another thread.
ADD: Demo to test impact of process priority

as well as python garbage collection. I had made this extension when the
whole process priority stuff came up a month ago or so. Not sure if you
want to keep it or toss it. Up to you.

+ Added some more file extensions that github should ignore.
REM: Removed Cobra eye tracker imp.
Merge pull request #766 from isolver/master

BF: iohub keyboard release event auto_repeated field can be None on Linux
Merge pull request #767 from peircej/master

BF: using Window._getFrame('front') returned grey when useFBO=True
Merge pull request #762 from dgfitch/tobii-eyex

Tobii EyeX support
BF: iohub YAML file sytax error
Merge branch 'master' of git://github.com/psychopy/psychopy
Updated some comments.
Merge pull request #768 from isolver/master

BF: iohub YAML file sytax error
ENH: iohub 'clearEvents' and proc priority setting

1) iohub clearEvents() had a 'race condition' (for lack of a better
term), causing native events that were time stamped by iohub, but not
yet fully converted into iohub events, not to be cleared when the
clearEvents() method was called.

This could result in very small negative time differences between the
time clearEvents() was called and occational event time stamps.

This issue would not occur if io.clearEvents('all') was used.

Now, any new native events that are 'in process', are fully processed
before the clearing logic is done. This fixes the issue / removes the
'race condition'.

2) iohub process priority API has been simplified. xxxbleHighPriority
and xxxRealtimePriority methods have been deprecated, in favour of a
single set and getPriority(level) method for the local process and the
iohub process.

See Computer.setPriority / getPriority and iohubConnection.setPriority /
getPriority methods for further info.
Merge branch 'master' of git://github.com/psychopy/psychopy