Virtual Desks 3: Desks and Desks' windows tracking

This CL implements the core functionalities of desks, including
desks creation, removal, activation, deactivation, and window
tracking.

BUG=866622
TEST=Added new tests.

Change-Id: Ifd1df2621ee67884d230d1d19e2683edb1085790
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1504840
Commit-Queue: Ahmed Fakhry <afakhry@chromium.org>
Reviewed-by: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#653796}
9 files changed