Simplify GLDrawableFactory's SharedResource Query Methods; Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext); Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3); Avoid possible NPE @ GLContext.getGLVendorVersionNumber()

- Simplify GLDrawableFactory's SharedResource Query Methods
  - Moving common methods to GLDrawableFactory/GLDrawableFactoryImpl
    while reusing common methods to SharedResourceRunner.Resource.
  - All factories SharedResources impl. SharedResourceRunner.Resource.

- Move WindowsWGLDrawableFactory Quirks to GLRendererQuirks (NeedCurrCtx4ARBPixFmtQueries, NeedCurrCtx4ARBCreateContext)
  - For better maintenance, move the mentioned quirks from the windows factory to our common place,
    being detected within GLContextImpl after each context creation.

- Bug 706: Confine NeedCurrCtx4ARBCreateContext to [Windows, ATI, driver < 12.102.3)
  - Before we added this quirk if [Windows, ATI],
    however, we have hopes that the new drivers will suffice for all
    as tested successful on my test machine (AMD Radeon HD 6300M Series, amd_catalyst_13.5_mobility_beta2).

- Avoid possible NPE @ GLContext.getGLVendorVersionNumber()
  - GLContext.getGLVendorVersionNumber() never returns 'null' but a zero version instance instead!
  - Add API doc.

- Use mixed case names in GLContextImpl.setRendererQuirks(..).
GLContext*'s ctxGLSLVersion: Use zeroVersion to denominate uninitialized VersionNumber instead of null, it's get*string returns a zero length string instead of null.
Move JPEGDecoder.PixelStorage -> TextureData.ColorSink: Appropriate name + public use
Complete commit e7064ece049705e013d80985eae698ce0ee3c4e3: Add getDefaultPixelDataFormat(), complementing getDefaultPixelDataType()
Add missing JogAmp (c) note - using date of 1st JogAmp edit.
TextureData: Add PixelAttributes and PixelBufferProvider; ColorSink back to JPEGDecode (not general enough)

- TextureData: Add PixelAttributes and PixelBufferProvider
  - PixelBufferProvider is intended as a pattern allowing
    producers (i.e. GLReadBufferUtil) to utilize custom pixel buffer
    for various intend.

  - PixelAttributes can be chosen by PixelBufferProvider implementation
    and groups the texture's pixel/data format and type.
    TextureData uses PixelAttributes internally now.

- ColorSink back to JPEGDecode (not general enough)
  - Partially reverts 94ea306d1809290db678d3181619bdc39d4334bb
GLReadBufferUtil: Utilizing PixelBufferProvider; Adding AWTGLReadBufferUtil adding BufferedImage support; Demonstrating w/ unit tests.
FFMPEGMediaPlayer: Decode audio frames.

Re-enable code to decode audio frame.

Throw a runtime exception for unimplemented sp_avcodec_decode_audio3 fallback.

Fix pts calculation to prevent division by zero caused by type truncation.
Fix aPTS calculation to use valid data.

Hide pts & aPTS info while running non-verbose.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
FFMPEGMediaPlayer: Use the Audio codec to decode audio. Also prevent double free of packet memory.

Signed-off-by: Xerxes Rånby <xerxes@zafena.se>