Tweak lifecycle of nav bar/view

- Don't wait for the nav bar view to be attached to register the bar
  with the controller. This might (repro is rare) address a crash where
  the view could be created twice (with the same nav bar layer which
  is rejected by WM), because the initial bar has been created, but
  wasn't cleaned up because it wasn't attached/registered yet before
  the second request to recreate
- As as result of the above, it's possible that other code will
  reference the bar before it's attached, so the bar needs to set the
  view reference when it is created
- Also remove some deferred callbacks when detaching the view which
  could cause the callbacks to reference a null view

Bug: 188728214
Bug: 183947954
Test: atest SystemUITests with all nav modes
Change-Id: I9c05b273251c9f95cb5d693402ae53b35cc94ab5
3 files changed