Refactors view statechart some more to fix regressions and improve handling of transition state conflicts. No longer notifies all descendents if a view's visibility changes (i.e. willHideInDocument/willShowInDocument are only called on views when their own isVisible property is set).