Further fixes to EyeTribe functionality and OpenSesame plug-ins

(Ref #19)

A few small but crucial improvements

- Fix a bug in the `oskeyboard` class with `None` timeouts
- Randomize the order of the calibration dots in eyetribe calibration, to avoid anticipation

And a larger one (#4aa3f3c), which is a hack that you may or may not want to merge. If not, an alternative will have to be implemented. Basically, it seemed that the locking was not fullproof, so that a heartbeat request could be sent while another request was ongoing. This happened all the time on my system, maybe because I have a slow laptop. At any rate, the way I worked around is by adding a dedicated lock in `request()`.

Other than that, it works pretty sweet now! Great job, Edwin. Just out of curiosity: Is this all your own work, or did you build on another module?