Reuse and reparent one-level root task to another display

A root task was reparented to a newly create root task
on another display while starting an existing activity
onto the display.

Since the original root task is now a child task after
reparented, the task surface size was not updated. So,
part of the surface was cropped and shown black.

Also fix a case where empty display (without any tasks)
was not awaken when stacks were reparented to it.

Bug: 150418176
Test: atest RootActivityContainerTests
Change-Id: I7eba20a973b5fd0fd050fedd06d3d700cb640f62
3 files changed