Use clientVisibility and visibleRequested model for wallpaper

This is to maintain similarity to ActivityRecord. ClientVisiblility
is now moved up to WindowToken and shared. VisibleRequested is still
separated since other windowtokens don't support it.

This lets us replace wallpaper-specific logic like deferHideWallpaper
in favor of the same visibility model as activity.

This model is effectively:
X calls setVisibility(v)
  sets visibleRequested = v
  if there's a transition, only commit the visibility when appearing.
  othrewise, commit here.
If there was an ongoing transition, once the transition is over,
  call commitVisibility.

Bug: 180143925
Test: Everything should behave the same and existing test should pass
      atest WallpaperControllerTests
Change-Id: I7bd216922983c6bca5a3b39e5a09c55889f788ee
15 files changed