Feat headless support

Problems:
- we need to wait until Application.GetApplication() is available.
- we need to call robot methods within JavaFX thread and wait for results.
- retrieving the mouse location seems unreliable.
- retrieving screenshots in headless mode returns transparent images.