timeline fix: use PlatformImpl.startup() only once, and Platfrom.runLater() thereafter to run in javafx thread