Add NewWatcher function (#28)
Pass cancelation channel via Watcher.Fanin (#28)

In order to control Watcher / Runtime lifetime for tests I added extra
channel for that exact purpose.
Cleanup for watcher_test (#28)
Merge pull request #29 from rjeczalik/wip-28

Make Watcher interface a bit more encapsulated