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.
Yeah I've been thinking about that, too. This shouldn't be a performance issue for the vast majority of use cases, where you don't have too many children nor deep nesting, which is why I'm fine leaving it on by default. But for those cases where you *do* I think adding an option makes sense. It should be pretty easy to add a toggle property, like what you've described.