Also slightly modified InputMethodBindingController to make it
unit testable.
Bug: b/240359838
Test: atest com.android.server.inputmethod.InputMethodBindingControllerTest
Change-Id: I9cd7d1e33fc366369da0c46deec8172b4bbac0d4
Injecting and mocking dependencies to InputMethodManagerService to make
it unit testable.
Add InputMethodManagerServiceTestBase base class to help unit test IMMS.
Add the first batch of unit tests in InputMethodManagerServiceWindowGainedFocusTest to cover the behavior of IMMS#startInputOrWindowGainedFocus(), which should help us catch any regressions caused by future changes to the code.
Bug: 240359838
Test: atest com.android.server.inputmethod.InputMethodManagerServiceWindowGainedFocusTest
Change-Id: Id61087f1e176738910f5acfe912f8682f727255c