Add `isRendered` property to views

To aid in defensive coding against all phases of a view's lifecycle, an isRendered property is provided on each view instance.

The value is falsey if the view has not yet been rendered, or has been destroyed.
The value is true if the view is currently rendered.

CompositeView's isRendered state-tracking property is renamed _isRendering to indicate its internal-only nature, and to prevent collisions with the now-exposed isRendered property.

Sequencing of the onBeforeRender event, mutation of the view isRendered state, and onRender is consistent and spelled out explicitly in the tests.