Upgrade watch.js

This is a small watch.js library upgrade.

We get Object.observe with this which lets us listen to new attributes being added to an object... be ware though, this is done in a new `loop` function that's called every 50ms so it's quite async :)