Implement the asyncRrun() method which runs the window on a separate thread.
NOTE: thread must take ownership of the OpenGL context.
NOTE 2: Also add asyncWait() to wait (blocking) until window finishes executions. If window gets closed, continue on (not invalidated)