Abstract widget logic out of ChromeVoxPanel

This change is in preparation for creating the Switch Access context
menu, which we want to behave similarly to the ChromeVox Panel.

Bug: 864796
Change-Id: I7d3c4828d1de7165ce4e3cab99fa779b3f5dcd1d
Reviewed-on: https://chromium-review.googlesource.com/1141341
Commit-Queue: Zach Helfinstein <zhelfins@chromium.org>
Reviewed-by: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576181}
5 files changed