Watcher using events instead of single callback

emitter attached as new Watcher().emitter
Routes now reuse existing watchers if available

This allows single-source multi-destination syncs
0.2.0