Bug 729, Bug 849: Honor JAWTWindow's [parent] visibility state

JAWTWindow snoops HierarchyEvents for SHOWING_CHANGED to
track local component's visibility state as well as it's global visibility state.
The later is determined by it's parent's visibility change.

If 'removeNotify()' is called, component's visibility is reset to it's local visibility state.

Fixes OSX CALayer component's visibility if parent's visibility changes (Bug 729).

Fixes continuous GL rendering if parent is invisible (Bug 849).