MacViews: Enable compositor recycling

We create a new ui::Compositor at the first character typed in the
omnibox. This is very expensive, and is compounded by the fact that the
shaders used by rasterization and display must be re-created in this
new context.

There already exists ui::Compositor recycling in content:: for
RenderWidgetHostViewMac. Move this code to ui::, and share it with
BridgedNativeWidget.

Bug: 712268
Change-Id: I969174e2c38b181e18a10e78dd49d3e9be9690e5
Reviewed-on: https://chromium-review.googlesource.com/1132710
Commit-Queue: ccameron <ccameron@chromium.org>
Reviewed-by: Leonard Grey <lgrey@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574738}
9 files changed