WIP: Refactor GuiTest

This is my work-in-progress which extracts `robot` and `service` classes from `org.loadui.testfx.GuiTest`. It is an experiment to see if a modular approach is better than the current monolithic approach.

Framework:
- [x] Extract `framework.FxRobotImpl` that implements all `robot` interfaces (is-a `KeyboardRobot`, `MouseRobot`, `ClickRobot`, ...) and contains `service` classes (has-a `NodeFinder`, `ScreenLocator`, `ScreenCapturer`, ...).
- [x] Rename to `framework.ScreenRobotImpl` from `FxScreenController`.
- [x] Rename to `framework.junit.StageRobotTest` from `GuiTest` that inherits `framework.FxRobot` and implements `service.SceneProvider`.
- [x] ~~Create `framework.FxRobotConfig` to configure timeouts and pauses.~~

Robots:
- [x] Extract `robot.KeyboardRobot` with `press` and `release` methods.
- [x] Extract `robot.MouseRobot` with `press` and `release` methods.
- [x] Extract `robot.ClickRobot` with `click`, `rightClick` and `doubleClick` methods.
- [x] Extract `robot.DragRobot` with `drag`, `drop`, `dropTo` and `dropBy` methods.
- [x] Extract `robot.MoveRobot` with `moveTo` and `moveBy` methods.
- [x] Extract `robot.ScrollRobot` with `scroll`, `scrollUp` and `scrollDown` methods.
- [x] Extract `robot.SleepRobot` with `sleep` method.
- [x] Extract `robot.TypeRobot` with `type` and `erase` methods.

Services:
- [x] Extract `service.stage.StageApplication` with `TestFxApp` functionality.
- [x] Extract `service.stage.StageRetriever` with `setupStage` and `showNodeInStage` methods.
- [x] Extract `service.stage.SceneProvider` with `getRootNode` methods.
- [x] Extract `service.locator.PointLocator` with `pointFor` and `pointForBounds` methods.
- [x] Extract `service.locator.BoundsLocator` with `sceneBoundsToScreenBounds` method.
- [x] Extract `service.finder.NodeFinder` with static `find`, `findAll`, `findAllRecursively`, `exists`, `labelExists` and `selectorExists` methods.
- [x] Extract `service.finder.WindowFinder` with `getWindows`, `getWindowByIndex` and `findStageByTitle` methods.
- [x] Extract `service.capturer.ScreenCapturer` with `captureScreenshot` method.

Miscellanous:
- [x] Cleanup static `waitUntil()` functionality.
- [x] Cleanup `target()`, and static `targetWindow()` and `lastSeenWindow` functionality.
- [x] Cleanup `pos()` and `nodePosition` functionality.
- [x] Replace static `offset()` and `OffsetTarget` functionality with `PointQuery`.