WM: Fix seamless rotation when multiple windows are drawn

Currently seamless rotation applies a transformation to unrotate the
AppWindowToken surface to undo the device rotation. The transformation
is removed in a defered transaction tied to when the client draws the next
frame in the new orientation.

This breaks if the AppWindowToken has multiple sufaces drawing to it,
such as in the case of Camera with a visible PopupWindow. If the
PopupWindow draws first, it will remove the transform on the
AppWindowToken surface causing a flicker.

The fix applies the unrotate transformation to the WindowState surface
so each window will seamlessly rotate indepedently being carefult to
apply the transforms to the WindowState surface position as well.

Fixes: 115664709
Test: go/wm-smoke

Change-Id: I1dcdeea4554ef912d9dca885c480989c360b7032
2 files changed