mash: Support ShelfWindowWatcher via ShelfItem properties.

Show mash shelf items for open windows via ShelfWindowWatcher.

Decompose ash::ShelfItemDetails into several window properties.
Use the existing window title, with new WmWindow setters.
Add window icon and shelf item type properties.

Support "Settings" tooltip instead of "Google Chrome - Settings".
Use WmWindow directly in ShelfWindowWatcherItemDelegate.
(don't go through wm::WindowState helpers)

TODO: combine mash browser window items.
TODO: fix crash when clicking new shelf items, surfaced here.
TODO: fix mash settings window title and icon.
TODO: aura::Window::SetTitle calls observers always

BUG=634150
TEST=No cros regresssions; mash shelf shows items for open windows.
[email protected],[email protected]

Review-Url: https://codereview.chromium.org/2357143004
Cr-Commit-Position: refs/heads/master@{#421788}
19 files changed