Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWT

- Support for all monitor devices and their available modes
  - X11: Use RandR 1.3 if available
  - Retrieve information
  - Changing a monitor device's mode

- Support for dedicated and spannig fullscreen
  - See <http://jogamp.org/files/screenshots/newt-mmonitor/html/>

- TODO:
  - X11 RandR does _not_ relayout the virtual screen size
    and neither the CRT's viewport.
    We may need to relayout them if they were covering a seamless region
    to achieve same experience!

  - OSX: No machine to attach a secondary CRT -> TEST!

- Tested Manually for Regressions
  - Linux ARMv6hf (Rasp-Pi/BCM, Panda/X11)
  - Android (Huawei, Kindle)

- Tested Manually and junit:
  - X11/Linux
    - NV, ATI-Catalyst w/ 2 CRTs
    - VBox w/ 4 CRTs

  - Win/Windows
    - NV, w/ 2 CRTs
    - VBox w/ 4 CRTs

  - X11/OpenIndiana, NV, 1 CRT
Fix GLSL Version Exposure: Type in 'static' GL -> GLSL matching, don't set GLSL version if GLSL is n/a
Fix GLX: X11GLXContext used wrong FBConfig n/a query; X11GLX*: If FBConfig is n/a force GLX (server) version down to 1.1 to avoid crashes w/ old GLX server (i.e. Mesa 4.*).
MonitorMode Unit Tests: Perform 'filterByRate(..)' _after_ 'filterByResolution(..)' (desired resolution)
MonitorMode: Fix API doc / comments / names.
NEWT Multiple Monitor Mode: Add missing 'collect' impl. for NEWT/AWT impl.
NEWT Multiple Monitor Mode: Fix monitorModeChanged(..) event id, WindowImpl.monitorModeChanged(): Resize/position if not fitting into virtual screen viewport.
NEWT MonitorMode: Refine 081177f2433be50e3b5d46385c2f0f3f96311ed8: Reduce EDT roundtrip when resize/positioning on MonitorMode changed ..
Minor: Typo/Syntax in GLRendererQuirks
GLX: Put native ByteBuffer to native-order in 'glXGetVisualFromFBConfig' and minor edits (final, same 'nativeOrder()' call style)
GLJPanel: Use PixelBufferProvider AWTPixelBufferProviderInt; PixelBufferProvider: Add 'dispose()' to interface.

Transition reusing AWT specific PixelBufferProvider to allow a later user provided PixelBufferProvider.
Add TestGearsGLJPanelAWT, i.e. multiple JPanels w/ GLJPanel running GearsES2 in their own color.

Note: JComponent will introduce flickering if using opaque rendering mode!
GLBuffers: Extract common methods: bytesPerPixel(..) and componentCount(.). Better namings for vars, i.e. compCount, .. etc
Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage; GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible.

Refactor: TextureData's PixelAttributes/PixelBufferProvider -> GLPixelBuffer/.. and enhance usage
  - GLPixelBuffer, GLPixelAttributes and GLPixelBufferProvider have potential for wider audience,
    hence extract them to package 'com.jogamp.opengl.util'.

  - Using GLPixelBuffer, shall attempt to use pack/unpack row-stride, i.e.
    GL2GL3.GL_PACK_ROW_LENGTH, or GL2GL3.GL_UNPACK_ROW_LENGTH.
    See GLReadBufferUtil and GLJPanel

  - AWTGLPixelBuffer*: Attribute 'row-stride' allows reusing a bigger buffer than requested.

GLJPanel: Use GLPixelBuffer* API and SingleAWTGLPixelBufferProvider if possible.
  - Use GLPixelBuffer API to remove redundancies

  - Attempts to use SingleAWTGLPixelBufferProvider to save JVM/CPU heap space
    for BuffereImage and IntBbuffer (readBack)

Added unit new test demonstrating multiple overlapping GLJPanels reusing (or not)
a singlton SingleAWTGLPixelBufferProvider.
Fix regression of commit 0a7bf77b8c0765f8a53dc72a8edab8e0496938ff - GLReadBufferUtil's GLPixelBuffer* usage. Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots.

Ref GLJPanel SingleAWTGLPixelBufferProvider's screenshots:
  <http://jogamp.org/files/screenshots/gljpanels-singlebuffer/>
Fix NEWT MultiMonitor Regression: Use case w/o attached monitor, and NPE (Cache) in ScreenImpl.getVirtualMonitorDevice(..).

W/ RandR13, we can have a case of an Output/CRT w/o valid modes,
indicating a switched off or detached monitor.

ScreenImpl.getVirtualMonitorDevice(..) requires a Cache .. due to MonitorModeProps.streamInMonitorDevice(..)
Fix Bug 731: GLJPanel: Access global GLPixelBuffer via SingletonGLPixelBufferProvider, if provided - releasing prev. smaller GLPixelBuffer after resize.
Merge branch 'master' of git://github.com/sgothel/jogl