Fix PointsDemoES1: No zero point size allowed
Only use base pipelines for Trace/Debug, mock others (ES2, GL2, ..); BuildComposablePipeline: Unify GL identify methods

- Only use base pipelines for Trace/Debug, mock others (ES2, GL2, ..)
  The Trace/Debug generated pipelines consume quite some space
  and only the actual GL*Impl pipeline is actually required.

  To make this work, we have to identify the GL type via it's downstream instance
  to implement isGL*() and getGL*() methods, see below!

  Adding dummy Trace/Debug type wrapper for GL2, GL3, GL3bc, GL4 and GLES2.

BuildComposablePipeline: Unify GL identify methods
  As described above, Trace/Debug shall utilize downstream identification for isGL*() and getGL*() methods.

  Custom types, like FixedFuncImpl may choose to be identified by their class inheritance,
  by passing command-line argument 'gl_identity_by_assignable_class'.
GL*: Expose isGL*Core(); GLContext: isGL*() API doc cleanup - align queries.
GLProfile: Abstract profile to impl. mapping, i.e. GL2ES2 -> GL3, favors core profile now - no more OSX exception!
Texture: Skip glEnable/glDisable TEXTURE target if using a core context!
FFMPEGMediaPlayer: Use GL_RED instead of deprecated GL_ALPHA, otherwise won't work w/ core >= GL3 profiles
GPUUISceneGLListener0A: Rotate on vertical scroll ..
Tests: Cleanup for GL core usage (Skip texture enable/disable, proper GLSL version number, use VBO only, ...)