squash [wip] commits
Add error handling to Read() and ReadOne()

This is necessary so that users of this API can detect errors (e.g. No such device after unplugging a USB keyboard) and properly handle them. Currently, applications will just busy-loop in that situation.
fix error handling in Read and ReadOne
mention bin/evtest.go in README.rst