Fixed a serious bug in reading.

Every consecutive call to read would add another listener to an event causing them to pile up.

The module has been changed to a more object oriented style.
Updated README.
Bumped version