Minor NEWT Display/Screen API doc
FixedFuncPipeline/Hook: Add glColor4ub() w/ value conversion, make glColor4f() more efficient, use pre-alloc NIO buffer
ImmModeSink: Add glColor3ub(), glColor4ub(); Add proper value conversion of imm. gl* functions; Default color padding is 1f; Make fields private.
ImmModeSink VBO: Update single buffers (vertex, color, ..) if once written and size gross-net > PAGE_SIZE

Usually PAGE_SIZE is written within one DMA xfer command,
so if the gross buffer bulk transfer contains more unused data than PAGE_SIZE
we may win when transfering each single buffer at buffer update.
ImmModeSink: Add resizeElementCount, allowing user to set a lower additional resize element count
ImmModeSink: Pretty'fying Ctor/Factory methods argument list
FixedFuncPipeline: Cache current ShaderSelectionMode, update PMVMatrix according it's usage (update Mvi/Mvit only if lighting is being used)
FixedFuncPipeline: Don't handle CullFace, ES2 impl. already takes care of discarding pixels of culled faces.
NEWT / BCM-VC-IV: Fix transparency according to given capabilities

Tested manual w/ TestGearsES2NEWT on Raspberry Pi
EGLDrawableFactory: Detect ES1 implementation within ES2 library, if not found in ES1 library

This is the case in BCM-VC-IV blobs, tested on Raspeberry-Pi
Add GenericGLCapabilitiesChooser: Dropping 'windowSystemRecommendedChoice' hint
Fix commit 48bcceaf611a17bb3795aa9fe25a0e0c726879f7, EGLDrawableFactory's ES1 impl. detection

'glBegin' is not ES1, duh!
NEWT ScreenMode Change Failover / Window.setFullscreen() shall use current ScreenMode rotated resolution.

ScreenMode Change Failover
  - In case a timeout appears (buggy XRandR),
    double check current ScreenMode in case it has been set.

Window.setFullscreen() shall use current ScreenMode rotated resolution.
  - The Screen's virtual size in not correct!
FixedFuncPipeline: Add GL_POINT* state tracking; Fix glDrawArrays(): Issued twice (duh!) almost halfed performance :)

TODO: Create GL_POINT texture and render w/ glDraw*()
FFP-Emu: Adding simple POINTS shader ; Adding GLRunnable2 interface, allowing passing a GL action w/ custom argument and return value.

Adding simple POINTS shader not regarding POINTS parameters and not using a texture (commented out).

FIXME:
  Event thought it works using a texture and gl_PointCoord in frag shader,
  I don't see the point here (lol) if gl_PointSize must be 1.0 in vert shader ..
  otherwise nothing is seen on ES2.0.
  On Desktop POINTS are always shown as 1 pixel sized points!
Fix ImmModeSink Padding: Fourth element default value (vertex/color) is 1f
FixedFuncPipeline GL_POINTS: Fix gl_PointSize (attribute data format), Add GL_POINT_SOFT and dist/fade attenuation (Adding basic POINT unit tests)

gl_PointSize (and all other uniform array elems) was not propagated due to wrong usage of GLUniformData component param.
Due to efficiency, we use vec4[2] now and #defines in shader to easy readability.

GL_POINT_SOFT uses gl_PointCoord to determnine inside/outside circle position
while adding a seam of 10% in/out. This almost matches 'other' implementations and gives a nice smooth circle.

!GL_POINT_SOFT produces a proper square (billboard).

Point-Vertex shader takes dist/fade attentuation into account.
FixedFuncHook/ImmModeSink: Fix *Pointer 'normalized' parameter

All *Pointer methods used 'normalized:=false', but we cannot assume
the fixed function code does use normalized (0f..1f) values.
On the contrary, it usually uses the native format value range.

Hence we have to pass normalized:=true for all fixed point data types
and normalized:=false for floating point data types.
ImmModeSink: Reduce DEBUG_* print a bit (no this.toString())
Fix regression of commit 40d01bef2a1db44533472c37961aabbef68de644: Test for fourth element was invalid