Update README.
Move to using a threaded design.

Bunch of changes in this commit. Refactored the code, it now looks
a lot cleaner.
Uses a receiver thread now, which listens to responses.