Hiding the drag handle of app list depending on MRU windows

Implement a new UI feature: hiding the drag handle of app list
in tablet mode if there is no activatable window. The main strategy
is listed as following:

(1) OnWindowDestroyed event should be listened to. Considering
about the situation that closing the browser window through shelf
while home launcher is visible. Hence we need to observe all windows
from MRU list in app list code, which is pretty much what
MruWindowTracker does. So the app list controller should observe
MruWindowTracker and hide/show the drag handle when a window is closed.

(2) When the gesture makes the app list show, the home launcher
gesture handler should notify the app list controller when animation
ends. The latter checks MRU window list then hides/shows the handle.

Test: ash_unittests
Bug: 923089
Change-Id: I9d9d60e705326cfe2ff90c59da2cccb18db87942
Reviewed-on: https://chromium-review.googlesource.com/c/1445111
Commit-Queue: Andrew Xu <[email protected]>
Reviewed-by: Xiyuan Xia <[email protected]>
Cr-Commit-Position: refs/heads/master@{#630039}
13 files changed