Fix GraphicsConfigurationFactory: Map factory to device-type _and_ capabilities-type; Add a pre-set nativeVisualID to chooseGraphicsConfiguration(..)

Map factory to device-type _and_ capabilities-type:
  - Allows using different GraphicsConfigurationFactory implementations for different capabilities-types.
    Previous impl. failed to use an OpenGL agnostic CapabilitiesImmutable for 'chooseGraphicsConfiguration(..)'
    since only the GL aware factory was mapped. The latter failed since it expected a GLCapabilitiesImmutable.

  - The passed capabilities-type as well as device-type given at getFactory(..)
    is traversed top-to-down to find a most suitable factory:
        For-All devT := getTopDownDeviceTypes(deviceType)
            For-All capsT := getTopDownCapabilitiesTypes(capabilitiesType)
               f = factory.get(devT, capsT);
               if(f) { return f; }
            end
        end

Add a pre-set nativeVisualID to chooseGraphicsConfiguration(..)
  - In situations where a native visualID is already chosen [by external means for example],
    but we still need to query a matching GraphicsConfiguration - we require to pass
    a non VisualIDHolder.VID_UNDEFINED nativeVisualID.

    We had a hack implemented before within some implementations and their static calls,
    however an agnostic mechanism is required to implement new NativeSurface/Window's
    platform agnostic.

  - X11GLXGraphicsConfigurationFactory: respect a pre-set xvisualID

  - X11GLXDrawableFactory.createProxySurfaceImpl(..) queries the given windowHandle's
    visualID and 'chooses' the configuration accordingly. If the visualID is undefined
    an exception is thrown, since window is invalid.
    These mechanics are implicit for Windows and OSX.

Fix X11GLXGraphicsConfiguration.updateGraphicsConfiguration():
  - Skip any action if a valid X11GLCapabilities is already chosen, i.e. w/ visualID.
    Otherwise choose a suitable configuration incl. visualID.
    The latter is quite impossible and invalid, since visualID must be defined at window creation time
    and the update method is issued with a valid window.

X11 - Misc:
  - Added 'int jogamp.nativewindow.x11.X11Lib.GetVisualIDFromWindow(..)'

  - All returned visualID's are of type 'int'
SWT Update: SWT GLCanvas creates lazy when resource is ready; Create new NewtCanvasSWT allowing to parent NEWT windows natively.

SWT GLCanvas creates lazy when resource is ready
  - Ensures drawable and context are created when size > zero and native visualID is valid.
    The latter is platform dependent.
  - Note that you cannot utilize custom GLCapabilities w/ this one,
    since the configurations is already realized - use NewtCanvasSWT.

Create new NewtCanvasSWT allowing to parent NEWT windows natively:
  - Similar to NewtCanvasAWT
  - Allows attaching / detaching NEWT windows

NewtCanvasAWT: Public setNEWTChild(..) fixed

Added test cases for the above - tested on Linux, OSX and Windows w/ SWT

Note: As usual for OSX, add -XstartOnFirstThread

Details:

- NEWT Display has new method: 'EDTUtil setEDTUtil(EDTUtil)'
  allowing to set a custom event dispatch utility.
  We use this to set our SWTEDTUtil for using NEWT w/ SWT
  complying w/ SWT threading constraints.
Add property: 'jogl.disable.opengles' to disable querying and using OpenGL ES

This might be required by a few older buggy ES implementations.

Also assists to discable ANGLE is not properly detected (?)
on Windows 32bit - the latter causes SEGV within FF and Chrome.

TODO: Fix ANGLE detection and usage within broser

NOTE: ANGLE works fine standalone ..