Unifies Badging logic across Chrome OS, Windows and Mac.

- Updates Windows and Mac to run through the
badge manager so that the last badge value is stored.
- Threshes out the concept of a badge_manager_delegate,
as it was too tightly coupled to Chrome OS to be used
for Windows and Mac.
- Checks the app is in scope before calling the badge
manager, so as to not regress Windows/Mac.
- Moves Windows and Mac specific badging code from
badge_service_delegate_impl to specific
badge_manager_delegates.

Bug: 719176
Change-Id: I01289830d3d1f1d34fec846785f0fd60deed6e97
Reviewed-on: https://chromium-review.googlesource.com/c/1429324
Reviewed-by: Eric Stevenson <estevenson@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dominick Ng <dominickn@chromium.org>
Commit-Queue: Jay Harris <harrisjay@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628139}
23 files changed