GLU: Make ProjectFloat/ProjectDouble final and deprecate GLU.destroy() method.
Enhance FloatUtil: Merge ProjectFloat features while adding optimized variations; PMVMatrix: Remove NIO buffer path, use backing-array only and FloatUtil direct.

- FloatUtil pptimized variants:
  - mapObjToWinCoords (gluProject) passing 'P x Mv' for batch operations

  - mapWinToObjCoords (gluUnProject) passing 'Inv(P x Mv)' for batch operations

  - mapWinToObjCoords (gluUnProject) passing 'Inv(P x Mv)' and two winz values
    for two ray picking resulting in two obj positions. (-> mapWinToRay)

- PMVMatrix
  - dropped low performance NIO mode
  - simply use common backing-array and fixed offsets directly
  - drop ProjectFloat usage in favor of FloatUtil
  - reduce number of temporary arrays
Enhance FloatUtil: More optimizations, concludes commit 0bded476868c5fdfe44502bfd55957469d0d72bb

FloatUtil optimizations (unroll and linear memeory access):
  - transposeMatrix
  - invertMatrix (diff algo as well - 50% speed bump)
  - multMatrix
  - multMatrixVec

FloatUtil added
  - matrixDeterminant(..)

FloatUtil removed
  - Certain FloatBuffer variants are removed
    or at least marked deprecated.
Add missing FloatUtil.invertMatrix(..) unit test, which impl. changed w/ commit ee774dce9e474e8ea961bd9b504d26e9321e1b15
WIP: Add Matrix4 OO wraper for FloatUtil matrix operations
Fix 'typo' in messages: 'Catched' -> 'Caught'
OculusVR: Add in eclipse classpath, and jogl-java-src.zip; Also create jogl-test-java-src.zip
Bug 1027: Fix usage of atomic jar files (NEWT)

Issue was that 'com.jogamp.opengl.util.PNGPixelRect'
was included in jogl-core.jar and that NEWT assumes
PNG conversion is possible having this class available.

However, PNGPixelRect requires 'jogamp.opengl.util.pngj'
which is only included within jogl-util.jar.

Moved PNGPixelRect from jogl-core.jar to jogl-util.jar.

+++

Added manual test launch 'testnoawtatomics' in make/scripts/tests.sh
to test atomic usage.
Works now w/ com.jogamp.opengl.test.junit.jogl.demos.es2.newt.TestGearsES2NEWT,
showing that the window/application icon is _not_ set due to not having PNG* available.
Fix (c) header: Due to copy & paste, wrong header was used for certain files .. (sorry)
Bug 1021: Add OculusVR distortion renderer (single FBO and dual FBO); Add GLEventListener2 (WIP); Refine FloatUtil

- GLEventListener2 extends GLEventListener adds refined control:
  - display w/ flags, i.e. repeat, don't clear
  - setProjectionModelview(..)

- FloatUtil.* Add return value for chaining, where missing

+++

- jogamp.opengl.oculusvr.OVRDistortion
  - Handles all OVR related data and maps it to shader + GL buffers
  - display method

- com.jogamp.opengl.oculusvr.OVRSBSRendererSingleFBO implements GLEventListener
  - Simple OVRDistortion renderer using single FBO
  - Using upstream GLEventListener2 (the content)

- com.jogamp.opengl.oculusvr.OVRSBSRendererDualFBO implements GLEventListener
  - Simple OVRDistortion renderer using two FBOs
  - Using upstream GLEventListener2 (the content)

Manual Test: com.jogamp.opengl.test.junit.jogl.stereo.ovr.OVRDemo01
Bug 1021: Refine Stereo Rendering API and OculusVR implementing renderer

Refine API in regards to proper package names, interface
and high-level access to eye specific constant parameter
and variable eye movement.

+++

Commit 36327e24cf586b50bf18e87d7d13d53eb41cf1d9 introduced 'GLEventListener2'

Move javax.media.opengl.GLEventListener2
  -> com.jogamp.opengl.util.CustomRendererListener
    -> com.jogamp.opengl.util.stereo.StereoRendererListener

StereoRendererListener adds stereoscopic specific:

  public void reshapeEye(final GLAutoDrawable drawable, final int x, final int y, final int width, final int height,
                         final EyeParameter eyeParam, final EyePose eyePose);

.. see below.

++

Add com.jogamp.opengl.util.stereo:
  - EyeParameter (Constant eye parameters, like IPD and FOV)
  - EyePose (Current eye position and orientation)

+++

Add com.jogamp.opengl.math.FovHVHalves to support
non-centered bi-directional FOV for lenses.

Add respective FloatUtil.makePerspective(.. FovHVHalves fovhv ) variant.

+++
Bug 1021: OVRDistortion.getSBSUpstreamPMV(..): Use generic perspective matrix constructor (example implementation only)
Bug 1021: OVRDistortion.getSBSUpstreamPMV(..): Use all cached eye parameter (example implementation only)
Bug 1021: OVRSBSRenderer*: Add texture filtering parameter (bilinear/none), adjust FBO texture params (alpha, filtering); Demo: Pass all parameters w/ arguments, use sane good defaults.

Turns out that using bilinear texture filtering w/o multisampling is 'good enough' ..

- OVRSBSRenderer*:
  - Add texture filtering parameter (bilinear/none)

  - Adjust FBO texture params (alpha, filtering)
    No alpha needed in FBO sink/target!

- Demo: Pass all parameters w/ arguments, use sane good defaults.
FloatUtil.makePick(..): Refine API doc, incl. PMVMatrix.gluPickMatrix(..)
Code Clean-Up based on our Recommended Settings (jogamp-scripting c47bc86ae2ee268a1f38c5580d11f93d7f8d6e74)

- Change non static accesses to static members using declaring type
        - Change indirect accesses to static members to direct accesses (accesses through subtypes)
        - Add final modifier to private fields
        - Add final modifier to method parameters
        - Add final modifier to local variables
        - Remove unnecessary casts
        - Remove unnecessary '$NON-NLS$' tags
        - Remove trailing white spaces on all lines
Bug 1021: Fix remaining build issues if sub-module oculusvr-sdk is missing
HowToBuild: Add 'libudev-devel' for oculusvr-sdk sub-module compilation
build: Add oculusvr java-doc ; Add jogl-test-java-src.zip in 7z archive
Bug 1021: Make OVR access vendor agnostic: Package 'com.jogamp.opengl.util.stereo' contains all public interfaces/classes

Renamed interfaces:
  CustomRendererListener -> CustomGLEventListener
  StereoRendererListener -> StereoGLEventListener

New vendor agnostic 'stuff' in com.jogamp.opengl.util.stereo:
  1 - StereoDeviceFactory
    To create a vendor specific StereoDeviceFactory instance,
    which creates the StereoDevice.

  2 - StereoDevice
    For vendor specific implementation.
    Can create StereoDeviceRenderer.

  3 - StereoDeviceRenderer
    For vendor specific implementation.

  4 - StereoClientRenderer
    Vendor agnostic client StereoGLEventListener renderer,
    using a StereoDeviceRenderer.
    Now supports multiple StereoGLEventListener, via add/remove.

- MovieSBSStereo demo-able via StereoDemo01
  can show SBS 3D movies.