Use InputTransferToken instead of IBinder for embedded windows

When an app is embedding another window, it needs to send the embedded a
token so the host can be associated with the embedded window. The
current API uses a raw IBinder token, but change to use an
InputTransferToken instead. This also modifies the transferTouchGesture
API so it accepts a InputTransferToken from and to objects.

Test: SurfaceControlInputReceiverTests
Test: AttachedSurfaceControlTest
Test: SurfaceControlViewHostTests
Flag: ACONFIG com.android.window.flags.surface_control_input_receiver TRUNKFOOD
Bug: 287076178
Change-Id: Iaa4dca0ca57f9c8760a81783cd384808985e6263
29 files changed