Allow layers to be added directly to a View for InkDrops

This adds new methods View::AddLayerBeneathView and
View::RemoveLayerBeneathView for managing layers attached directly to a
View's layer tree. This will allow for various View "decorations" to
be implemented without infrastructure like InkDropHostView.

As part of the InkDrop refactor, this ports InkDropHostView over to
using these new methods. The short-term goal is to remove overrides of
InkDropHostView::{Add,Remove}InkDropLayer. Instead, Views that need
special layer stacking will override the View methods.

Bug: 931964, 946738
Change-Id: I12579051da294ca47bcb6f3425635f0e734e3992
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1603827
Commit-Queue: Collin Baker <collinbaker@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#660154}
9 files changed