Adds onAttach event.

Mmk, this is ready for review.

- Works properly for infinitely nested LayoutViews
- Also works on collectionViews
- Documented
- Backwards compatible

This adds `onAttach`. Ref #1856 for more about why this event is important.

====

To do: It adds three new public methods that need documentation

- triggerAttach (view). This should prob. just be private
- getNestedViews (layoutView)
- isNodeAttached

I'll do this once I get thumbs on the implementation.
I think the condition here could simply like this, no?
```javascript
if (!view.getNestedViews) { return; }
```
The `views` array is garanteed to have only truthy values because it has already been filtered above.