Let IMMS be responsible for IInputMethodClient lifecycle

This is the last step to remove the dependency on IInputMethodClient
from WindowManagerService.

With my previous CL [1], now WindowManagerService (WMS) depends on
IInputMethodClient just because it implements lifecycle management of
IInputMethodClient on behalf of InputMethodManagerService (IMMS).

This CL mechanically moves that responsibility from WMS to IMMS for
better separation of concerns.  It is a bit ironic that this CL is
partly undoing my previous CLs [2][3] that removed
IInputMethodManager.addClient() though.

This CL aims to preserve the current observable behavior (e.g. when
InputMethodManager instance is being created) as much as possible.
Most likely there would be no observable behavior difference when seen
from other components.

 [1]: I444077b1e4af4033f67ab72c181fac85b601e08a
      41f89c3bccd0613a29a46b132891ba16032990d9
 [2]: I453200fd5847e9a78876affb6a1caec221525e1d
      e24ed79edb937c743b96b3f9baddc689fb694be1
 [3]: Id91dd600120e4981aa1d9005ce644728968430c9
      fffc0e53c62614c288e9e702d69e517db17dccd7

Fix: 115993358
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Change-Id: I7726c70613ea72d6e78fa5754e9fc840f0a40f11
8 files changed