Fix Race in ScreenshotController

(Fixing merge for ag/26554944)

TakeScreenshotExecutor was creating the ScreenshotController by passing the
displayId. However, if the display was disconnected before ScreenshotController
was fully initialized, it ended up crashing (exactly when creating the display
context).

Now, ScreenshotController is not created unless we have a not-null display in
TakescreenshotExecutor.

Test: atest TakeScreenshotExecutorTest
Flag: None
Fixes: 329147174
Change-Id: I0c7c9ec4e7d3dfc8896bd325bd250d372a6c0891
3 files changed