Create a unified UIElement interface for Widget, View and Window.

The unified interface will enable css_agent to set/access many
properties of widget, view and window without the need of knowing the
actual object type. A UIElement tree where each node can be either
view, widget and window will be kept in sync with tree structures of
window, widget and view objects.

BUG=700024

Review-Url: https://codereview.chromium.org/2776543002
Cr-Original-Commit-Position: refs/heads/master@{#473315}
Committed: https://chromium.googlesource.com/chromium/src/+/bdcdb17a4fa7ffea34afed460b776cc2e5032855
Review-Url: https://codereview.chromium.org/2776543002
Cr-Commit-Position: refs/heads/master@{#473407}
15 files changed