fix(watchers): Avoid useless column generation due to initialization of watchers

This also display more events in demo at initialization time, loading of data is now made after events logging registration.

From angularJS $scope documentation:

After a watcher is registered with the scope, the listener fn is called asynchronously (via $evalAsync) to initialize the watcher.

In rare cases, this is undesirable because the listener is called when the result of watchExpression didn't change.

To detect this scenario within the listener fn, you can compare the newVal and oldVal. If these two values are identical (===) then the listener was called due to initialization.

Close #217