VR: Add an interface between VrShellGL and the UI

This change adds an interface for the UI, to which VrShellGl will talk.
While this somewhat cleans up interfaces to the UI, the main reason is
to ensure that the UI can be severed without link issues.  Once all UI
methods called by its owner are virtual, the class can be instantiated
and used easily at runtime.

BUG=

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ib634efeb157007de11342a245c949b5ea69e54f3
Reviewed-on: https://chromium-review.googlesource.com/1142303
Commit-Queue: Christopher Grant <cjgrant@chromium.org>
Reviewed-by: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576504}
15 files changed