Add specific z-ordering between PiP, Dream and Assistant

The z-order of all activity stacks is defined as:
- Dream is on top of everything
- PiP is directly below the dream
- always-on-top stacks are directly below PiP; new always-on-top stacks
  are added above existing ones
- other non-always-on-top stacks come directly below always-on-top
  stacks; new non-always-on-top stacks are added directly below
  always-on-top stacks and above existing non-always-on-top stacks
- if mIsAssistantOnTopOfDream (a config) is enabled, then Assistant is
  on top of everything (including the Dream); otherwise it is a normal
  non-always-on-top stack

Bug: 152425699
Bug: 150749838

Test: m && flash
      && atest ZOrderingTests
      && atest ActivityDisplayTests#testAlwaysOnTopStackLocation

Change-Id: I59eaa3fa2d6204779a56f5be16487812042ce8e8
3 files changed