Stop relying on IMM in IMS for token-guarded IME APIs

This is a follow up CL to previous CLs [1][2][3] that made sure that
APIs that are exposed only to IMEs should live in InputMethodService
instead of InputMethodManager.

Now that we have a dedicated Binder inferface [4] that allows
InputMethodService (IMS) to directly send IPCs to
InputMethodManagerService (IMMS) without relying on
InputMethodManager (IMM), it is natural for the above public APIs in
IMS to stop relying on IMM.

This CL also addresses a small concern that it is no longer obvious
when those APIs become available.  Previously, it was a bit more
obvious that passing null IME token doesn't work so IME developers
could imagine that those APIs were unavailable until attachToken() is
called.

With this CL, InputMethodPrivilegedOperations starts showing warning
messages when called too early, which we hope help IME developers
understand why those APIs do nothing when called too early.

  [1]: I3163f3cbe557c85103ca287bee0874a3b4194032
       d8d03a8e1b5b7f4b05d7f99a19d356ffd95edb58
  [2]: If6a786c5774805d041ea9672ef2721e4a38df7fc
       fbc2f7acd581eca7180a3d916936fb4e758279e1
  [3]: I6efd5ca473e33e6faeadb7eea7772b9d2b8ca12b
       164cfba536644095b962b45379020a792d3c51c8
  [4]: I2f3ec3c5de546fb3603275a4b64000ed3f863b65
       c54c1171640519ae0ad8da1f32477295d96db1b8

Bug: 114418674
Test: atest CtsInputMethodTestCases CtsInputMethodServiceHostTestCases
Change-Id: I995c4b922f91b94438c1292392b2c3030598594f
5 files changed