Send IActivityClientController to client when launching activity

This reduces 2 binder transactions when launching activity:
- Get IActivityTaskManager from ServiceManager
- Get IActivityClientController from IActivityTaskManager

Bug: 174800802
Bug: 174041144
Test: "am start -n ${activity_name} -W -S -P /data/local/tmp/test.trace"
      There should not have ActivityTaskManager#getService and
      IActivityTaskManager#getActivityClientController from any
      methods of ActivityClient.

Change-Id: I5ebf8d0764205f338ef53bbb8dfd8b5d0b7f9811
8 files changed