Do not join with running thread.

The infinite sleep would cause a deadlock.
Indentation fix.
Run GUI in a separate thread.

GUI thread can be scheduled on any scheduler using opts.scheduler.
Start GUI on a running scheduler with Page:start()
Start GUI and run scheduler using Page:run()