NEWT Events: Use final .. (minor edit)
Fix Quaternion.rotateByEuler(..): Zero rotation shall lead to NOP instead of setting identity
Add AABBox.getRayIntersection(..), VectorUtil.line2PlaneIntersection(..) incl. getNormal*(..) and getPlane*(..)

AABBox.getRayIntersection(..) provides the intersecting coordinates,
where the fast alternative AABBox.intersectsRay(..) does not.
Add TextureSequence.isTextureAvailable(), allowing triggering action only when source becomes ready
PinchToZoomGesture: Add 'delta' value [-1..1], move 'InputEvent trigger' up to GestureHandler
FFMPEGMediaPlayer: Use 'const' qualifier in shader stub
Fix ShaderCode.insertShaderSource(..): Return 'position' if nothing has been added; ShaderCode.addDefaultShaderPrecision(..): Branch GLES3 before GLES2, since gles2.isGLES2() == true
Bug 801: Region Dirty Update; TextureSequence GLMediaPlayer Fix; Blending Fix ;

- Region Dirty Update
  - Split dirty -> ShapeDirty + StateDirty,
    where StateDirty forces re-rendering content
    w/o geometry update as req. for 2-pass mode.

- Fix TextureSequence (GLMediaPlayer) usage in RegionRenderer / GLRegion*
  - handle GL_TEXTURE_EXTERNAL_OES incl. Android ES3 bug
  - inject TextureSequence's shader stubs
  - shader: Use abstract lookup 'texture2D' -> 'gcuTexture2D'
  - flip scaled colorTexBBox if TextureSequence 'tex.getMustFlipVertically()'

  - TODO: Handle multiple TextureSequence shader programs!

- Fix Blending: GLRegion* / RegionRenderer / RenderState
  - Disable/Enable depth-writing w/ blending
  - Region impl. sets proper glBlendFunc*(..),
    i.e. 2-pass:
      - render2FBO: glClearColor(0f, 0f, 0f, 0f)
                    glBlendFuncSeparate(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA, GL.GL_ONE, GL.GL_ONE_MINUS_SRC_ALPHA)
      - renderFBO:  glBlendFunc(GL.GL_ONE, GL.GL_ONE_MINUS_SRC_ALPHA)
  - User code shall not set glClearColor(..) for 2-pass anymore

- Graph-UI Demo
  - UIShape:
    - Add MouseGestureListener, combining MouseListener + GestureListener
    - EventDetails -> PointerEventInfo
    - PointerEventInfo contains objPos (ray-intersection) and glWin-pos
    - Toggle:
      - Separate color (on/off) if enabled
      - Toggle on click if enabled

  - SceneUIController
    - Use PinchToZoomGesture and propagete same gesture to UIShape

    - Use AABBox.getRayIntersection(..) using 'real' shape coordinates
      for 1st picking.

    - Use shape PMV for secondary picking (drag, zoom 2-pointer, etc),
      see windowToShapeCoords(..)

    - Sort shapes according to z-value (render: ascending; picking: descending)

    - Only 'drag' if pointerId matches 1st pressed pointer
VectorUtil: Fix method names, i.e. use type-suffix in end of function for clarity and unique method naming
NEWT MouseEvent: Decouple pointerIds from single-pointer button, i.e. always use proper pointerId >= 0

In case of single-pointer mouse events, always use pointerId 0,
don't derive from button name.

Multiple pointer events still derive button name from the 'action' pointerId.

This allows applications to utilize pointerId equally for single and multiple
pointer events.

Passed all 'junit.run.newt.event' unit tests
Bug 801: LabelButton uses DEFAULT_2PASS_LABEL_ZOFFSET in any mode, due to disabled depth buffer in blend mode
build-test.xml: Handle hs_err_pid*.log files, i.e. clean-up and archive
GraphUISceneDemo Applet: Add JOAL for GLMediaPlayer usage
Bug 801: Introd. RenderState.BITHINT_GLOBAL_DEPTH_TEST_ENABLED hinting to deal w/ GL_DEPTH_TEST accordingly

Fixes VBORegion2PMSAAES2 no-depth-buffer usage
and allows user to control behavior w/o quering GL state.

If BITHINT_GLOBAL_DEPTH_TEST_ENABLED set:
  - RegionRenderer.defaultBlendEnable:  glDepthMask(false)
  - RegionRenderer.defaultBlendDisable: glDepthMask(true)
  - VBORegion2PMSAAES2 enables/disables GL_DEPTH_TEST, otherwise MSAA is corrupt.
Reduce jar-size / cleanup: Replace 1 kB test-ntsc01-57x32.png w/ 400kB test-ntsc01-28x16.png asset ; Generalize TextureSequenceDemo01 -> SingleTextureSeqFrame ; Unit tests use test-data, not assets.
jogl: avoid bugs with sign-extension in JPEGDecoder

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
jogl: avoid writing into an uninitialized array in nurbs code

pspec is never initialized, this would have always crashed.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Merge remote-tracking branch 'hharrison2/master'
Manual test scripts: Pass classpath via '-cp' instead of env CLASSPATH
HowToBuild: ant 1.8.2 ; Complete GNU/Linux dependencies w/ openjdk, ant and p7zip, refine Debian 7 and 8 i386 on amd64 details