Fix shelf auto-hide calculation for app-list visibility.

AppListButton tracks per-display [target] visibility.
(sets a new flag on Shown/Dismissed callbacks)

Check widget/button state, not global shell state.
Ignore dismissed app-list windows that are animating closed.

Fix a ShelfLayoutManager test to actually catch this.

BUG=654661
TEST=Shelf stays visible when the app-list is hidden.
R=jamescook@chromium.org

Review-Url: https://codereview.chromium.org/2534953006
Cr-Commit-Position: refs/heads/master@{#435554}
7 files changed