keyboard: Implement standalone FocusTracker
And stop using FocusCaretTracker for caret position purposes. This new object uses 1) the text-input protocol in wayland and 2) Info from IBusPanelService for X11 (which is meant to work for XIM too).
This drops the usage of AtspiEventListener for OSK purposes, which is best to avoid.
(NB: I propose this for gnome-3-28 too, it's faster, more reliable, and doesn't bring in the cpu/memory penalties from AtspiEventListener)