GLContext: *TRACE_SWITCH spacing
Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about OGL threading and resource usage

- Still excluse OSX
- Respect sun.java2d.opengl property
- [Prepare] Allowing OGLPipeline thread usage w/o it's OGL resource usage
Fix OSX CALayer Bug 690 and Bug 691: Occasional Freeze on CVDisplayLinkStop; Layers and native GL-Context are _not_ Released ; Java Side wait for Main-Thread

- Fix Bug 690: Occasional Freeze on CVDisplayLinkStop
  - NSOpenGLLayer.disableAnimation() shall not claim the renderLock mutex,
    since the CVDisplayLink callback could be waiting for the lock.
    This waiting callback could freeze the call to CVDisplayLinkStop.

- Fix Bug 691: Layers and native GL-Context are _not_ Released
  - Following proper release cycle:

    Context unrealized:
      - JAWTWindow.detachSurfaceLayer() -> OSXUtil.RemoveCASublayer(..)
      - CGL.releaseNSOpenGLLayer(..)

    JAWTWindow.destroy()
      - MacOSXJAWTWindow.UnsetJAWTRootSurfaceLayer(..)
      - OSXUtil.DestroyCALayer(..)

  - 'Magic' CALayer release calls (w/o manual retain beforehand) at:
     - OSXUtil.RemoveCASublayer(..): [subLayer release]
     - MacOSXJAWTWindow.UnsetJAWTRootSurfaceLayer(..): [rootLayer release]
     - OSXUtil.DestroyCALayer(..): [rootLayer release]

  - 'Magic' NSOpenGLLayer's NSOpenGLContext dealloc:
     - [NSOpenGLContext clearDrawable]
     - CGLDestroyContext( [NSOpenGLContext CGLContextObj] )

- Java Side wait for Main-Thread
  - Waiting for the delegated Main-Thread on the Java side eases debugging
    and won't block the Main-Thread in native code.

  - Utilizing this for all CALayer calls

Test case: TestGLCanvasAddRemove01SwingAWT