Move policy handling into ATM hierarchy [1/n]

Moves some windowing-mode change handling into config update

First, this moves the initiation of mode configuration-changes into
the ATM hierarchy (from WM). It restructures some more of the bounds
calculations in TaskStack so that they can be used via the controller
and with more data coming from a parent configuration instead of
hard-coded to the DisplayContent. These interfaces are transient as we
transition more towards a "unified" hierarchy set-up.

The main part of this change is in ActivityStack.onConfigurationChanged
where we actually process which changes effect the different modes
we are in. For example, if rotation/density/screen-size change, we
need to recalculate split-mode bounds to match. Along with moving work
to onParentChanged, this should actually handle more display changes
than before (ie. it should be possible to reparent a split stack into
another display and have it resize appropriately).

Bug: 113900640
Test: go/wm-smoke
Change-Id: Ifd4def135b62a54259dd0f9f030e839c29bebebf
15 files changed