CrOS shelf: Shelf bubble logic refactor

'Tis the season for refactorings :-)

* Rename ShelfTooltipBubbleBase into ShelfBubble
* Make ShelfBubble the base class for ShelfTooltipBubble,
  ShelfTooltipPreviewBubble, OverflowBubbleView.
* Refactor as much as possible of the common bubble creation logic.
* Remove OverflowBubbleView's custom 'InitOverflowBubble' method, just
  do that work in the constructor.
* Let the bubble take care of picking its own arrow (move that over
  from ShelfTooltipManager).

This change is not expected to have any user visible impact.

Change-Id: Icabddc9c23c5b22b9909813072a6eee8fa2d82cc
Reviewed-on: https://chromium-review.googlesource.com/c/1416799
Commit-Queue: Manu Cornet <manucornet@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Auto-Submit: Manu Cornet <manucornet@chromium.org>
Cr-Commit-Position: refs/heads/master@{#624461}
15 files changed