GLContextImpl: destroy(): Fix null drawable check; makeCurrentWithinLock(): Add drawable size validation before attempt to create context; MacOSXCGLContext: Explicit exception for Null AttachGLLayerCmd.

GLContextImpl:
  - destroy():
    - Fix null drawable check
      Only if the GLContext isCreated(), we require a drawable to be set.

    - Proper name of associateDrawable Exception

  - makeCurrentWithinLock():
    - Add drawable size validation before attempt to create context.
      - 'makeCurrent()' shall never be called w/o proper sized drawable, i.e. > 0x0.
      - returns CONTEXT_NOT_CURRENT, if drawable size is <= 0x0

MacOSXCGLContext:

  - Explicit exception for Null AttachGLLayerCmd.
    In case context creation has failed via makeCurrent(),
    AttachGLLayerCmd may never been issued and hence maybe NULL.
    Catch this case and send a meaningful exception,
    which is catched and fwd in GLContext.destroy().
FBObject.init() uses safe 1x1 size like reset(..) to behave equal; GLFBODrawableImpl.contextMadeCurrent(ctx, true): Throw exception if !initialized
NEWT/AWT: Fix 'AWT driver' to work w/ OSX CALayer ; WindowImpl: 'Object getWrappedWindow()' -> 'NativeSurface getWrappedSurface()'

WindowImpl: 'Object getWrappedWindow()' -> 'NativeSurface getWrappedSurface()'
  - AWT driver itself instantiates the JAWTWindow for eager initialization at createNative().

Fix 'AWT driver' to work w/ OSX CALayer
  - See above
  - size reconfig changed to ease OSX CALayer,
    i.e. set frame's size if already visible reducing CALayer artefacts.
NEWT/AWT-Wrapper-Driver: Fix MS-Windows Case (Use NativeWindow window handle); Use set size by frame only for OSX/CALayer
GLES[12] Impl: Cleanup 'checkBufferObject(..)', remove unused and 'avail' argument and 'initBufferObjectExtensionChecks()'
Bug 692: Add modified version of Edgar Velazquez-Armendariz's test case for testing alternating VAO and VBO usage.

Alternating VBO/VAO usage triggers bug 692, where our VBO enable check throws an exception:
  javax.media.opengl.GLException: element vertex_buffer_object must be enabled to call this method
        at jogamp.opengl.gl4.GL4bcImpl.checkBufferObject(GL4bcImpl.java:34318)
        at jogamp.opengl.gl4.GL4bcImpl.checkElementVBOEnabled(GL4bcImpl.java:34361)
        at jogamp.opengl.gl4.GL4bcImpl.glDrawElements(GL4bcImpl.java:4395)
        at javax.media.opengl.DebugGL3.glDrawElements(DebugGL3.java:1006)
        at com.jogamp.opengl.test.junit.jogl.acore.TestBug692GL3VAO$GL3VAODemo.displayVAONormal(TestBug692GL3VAO.java:254)
Fix Bug 692: Add tracking of VERTEX_ARRAY_BINDING, and enable allowing a bound non default VAO to pass VBO enabled test, even if VBO is disabled.

VAO is available if: GL >= 3.0 or is having GL_ARB_vertex_array_object extension.

checkBufferObject(..) checks whether VERTEX_ARRAY_BINDING has a non default VAO bound in case
no VBO is being bound and VAO is allowed.

glBindVertexArray(int) is being tracked, i.e. on state VERTEX_ARRAY_BINDING
Bug 705: This is the version of displayMultiple02 which uses glXCreateNewContext instead of glXCreateContext. Segmentation fault w/ Mesa 7.0
Bug 705: This is the version of displayMultiple02 which uses glXCreateNewContext instead of glXCreateContext. X11 Error w/ Mesa 7.0
Merge remote-tracking branch 'xranby/master'