Update appObserver.regionTree to check for rootView

This change does two nice things:

1. it removes the internal calls to `regionInspector` and instead goes through the `appObserver` `regionTree`. This is a boon because it's important to be consistent in the way we get a `regionTree`.

2. if the regionTree is empty we try to build a region tree off of the rootView.