This replaces obsolete XIM and uses gtk api for IME. Gtk uses [ibus](https://github.com/ibus/ibus)
Gtk3+ uses relative positioning (as Wayland does), so I've added a Relative positioning on `InputMethodRequest`. ------------- Commit messages: - Don't highlight for dead keys - Don't move the caret on preedit - Add function to return relative location of the caret (it's how it's handled on Linux). - Merge branch 'master' into new_ime - Merge branch 'master' into new_ime - Weird API - JavaFX does not currently supports surrouding - Remove dup event - Progress - Fix key typing - ... and 61 more: https://git.openjdk.org/jfx/compare/84aad81a...5d6bd04d Changes: https://git.openjdk.org/jfx/pull/1080/files Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1080&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8305418 Stats: 525 lines in 16 files changed: 135 ins; 277 del; 113 mod Patch: https://git.openjdk.org/jfx/pull/1080.diff Fetch: git fetch https://git.openjdk.org/jfx.git pull/1080/head:pull/1080 PR: https://git.openjdk.org/jfx/pull/1080