move back Invalidating to not necessarily be a Widget

Invalidating is now setting up the properties listeners in the constructor to manage the case it is not a widget.

In order to avoid each Widget using Invalidating to do:

```js
     buildRendering: dcl.after(function () {
        // tags:
        //    protected
       this._initializeInvalidating();
    }),
```

I have kept the code in Invalidating itself and it is working fine.

If we end up having Widget using Invalidating itself, this code will have to be removed from Invalidating and put in Widget.

Also I have used back setTimeout as defer() is not available on a mixin. Only on Widget. Later we should either move to the centralized timeout management for Invalidating @wkeese is proposing  or we should put defer() on Destroyable and have no widget use Destroyable to get the feature.

Note that it might be worth moving defer to Destroyable in any case? Sounds like it would make sense anyway?