Allow background users to call IME query APIs

With this CL, following InputMethodManager APIs are fully supported
under multi-user / multi-profile environment.

 * InputMethodManager#getInputMethodList()
 * InputMethodManager#getEnabledInputMethodList()
 * InputMethodManager#getEnabledInputMethodSubtypeList()

Those APIs should return appropriate results based on caller's user
ID, even when called from a background user.

There should be no behavior difference if those APIs are called from
the current user process.

This CL also adds -u <user id> option to 'adb shell ime list' command.

Bug: 120709962
Fix: 122164939
Test: make -j cts && atest CtsInputMethodServiceHostTestCases
Test: Manually verified that 'adb shell ime list -a -s -u <user id>'
      works, including <user id> == 'current' and 'all'.
Change-Id: I192a0f5a1375170d17a4c08af94f23966dbaea8b
2 files changed