tablet: Refactor carrying over snapped windows from desktop to tablet.

The present CL was originally for Issue 926602, but has become focused
on code refactoring (Issue 932207), with a low-risk fix for
Issue 926602 separated out into CL 1471013. The refactoring in the
present CL seems to have incidentally fixed the additional functional
problem shown in this video (an ugly animation):
https://photos.app.goo.gl/xGnVGQgexPgxMpRcA

Bug: 932207
Change-Id: Ia191e7d3495c09ec07237c57596de43106e7d548
Reviewed-on: https://chromium-review.googlesource.com/c/1446368
Commit-Queue: Avery Musbach <amusbach@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#633773}
4 files changed