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.
TEST=Shelf stays visible when the app-list is hidden.