VirtualDisplay wrapper with input forwarding

New version of ActivityView that doesn't use expensive
ActivityContainer, but utilizes VirtualDisplays instead.

Creation of this view is only allowed for callers who have
android.Manifest.permission.INJECT_EVENTS permission.

Launching activities into this container is restricted by
the same rules that apply to launching on VirtualDisplays:
- Owner is allowed to launch its own activities.
- If activity that's being launched is not from the same
  app, then it must be embeddable and launcher must have
  permission to embed.

Bug: 63338670
Test: go/wm-smoke
Change-Id: Id9a25752367ebe8e59d2fc21c5d9de5cf597ea01
diff --git a/Android.mk b/Android.mk
index 6906b06..0e41b39 100644
--- a/Android.mk
+++ b/Android.mk
@@ -82,6 +82,7 @@
 	core/java/android/app/ITaskStackListener.aidl \
 	core/java/android/app/IBackupAgent.aidl \
 	core/java/android/app/IEphemeralResolver.aidl \
+	core/java/android/app/IInputForwarder.aidl \
 	core/java/android/app/IInstantAppResolver.aidl \
 	core/java/android/app/IInstrumentationWatcher.aidl \
 	core/java/android/app/INotificationManager.aidl \