Respect headless mode instead of enforcing it

We have a mix of vanilla unit tests, TestFX-3.2 based tests and some legacy hand-crafted JavaFX tests in the project. Our main CI build is running on a Linux server, where we have not got a graphic environment, and our target JavaFX platform is Windows anyway. We tried to segregate unit tests that could be run in a headless mode from the JavaFX tests, but that proved to be a challenge. I know there is a @Category(TestFX.class) available, but category activation/deactivation is rather clumsily implemented in Junit and Maven, and also it does not play well with custom JUnit Runners. We ended up improving one of our custom Runners to automatically mark all JavaFX tests as "ignored" in headless mode, but it would be good if TestFX looked after it itself. Also, the current forcing off of headless mode is also rather non-obvious and deprives us of control during build time.