Sync LauncherUtil w/ GlueGen commit 1b9f0739ecc25105384b557afa698c42e08d4cc6 (adding main-cmdline-args)
Fix Bug 669: Recursive GLContext makeCurrent()/release()

Culprit:
  GLContext's makeCurrent() didn't clear the boolean flag 'unlockContextAndSurface'
  in case the context is already current (-> recursion).
  Above case was detected within a code block tailed by a finally block,
  which acted on mentioned flag, i.e. called lock.unlock() and hence decremented the lock count
  even though the method return w/ successful state.

  Fixed.

Added debug code:
  GLContext.release() debug code (DEBUG | TRACE_SWITCH),
  recording stack trace of last release() call, which is dumped in case no current was current.

Added 2 unit tests:
  - Simple recursive GLContext makeCurrent()/release() from within GLEventListener's display().
    Test also validates lock count and lock ownership.

  - GLAutoDrawable display() of another GLAutoDrawable
    from within GLEventListener's display(..).