GLMediaPlayer: Add camera input / FFMPEG: Fix 'av_packet' leak and add missing symbol 'av_realloc'.

- Add camera input
  - Use URI w/ scheme 'camera' to determine camera input is desired,
    use URI host as camera id.
    E.g. 'camera://0' for 1st camera.

  - AndroidGLMediaPlayerAPI14: Via 'Camera'

  - FFMPEG*: Via libavdevice, device name and input format

  - TODO: Add controls to manipulate camera if available

- FFMPEG*
  - Add symbols
    - avcodec_register_all
    - av_realloc (was missing)
    - avdevice_register_all

  - Load libavdevice (opt)

  - Camera:
    - Use <ID> (windows) and /dev/video<ID> other OS
    - simply find the input format in native code

  - Support YUYV422 (used in video4linux2, etc.)
    - Stuff 2x 16bpp (YUYV) into one RGBA pixel!
    - Add texture format for 16bpp
    - Add texture lookup shader

  - Fix av_packet leak in readNextImpl(..)
    - Restore orig pointer and size values,
      we may have moved along within packet.
      Then call av_free_packet().

  - Use null AudioSink if audio-id is NONE
GLBuffers: Add forma GL_YCBCR_422_APPLE and types GL_UNSIGNED_SHORT_8_8_APPLE, GL_UNSIGNED_SHORT_8_8_REV_APPLE.
Fix libav/ffmpeg compilation across platforms: Move header back to 'stub_includes'
Fix libav/ffmpeg compilation across platforms: Remove symbolic links
Fix libav/ffmpeg compilation: Use 'dot less' dir/file names; Compile ffmpeg version dependent c-files individually and inject object files. ; ffmpeg *register_all() at setStream0(..)

- Use 'dot less' dir/file names

- Compile ffmpeg version dependent c-files individually and inject object files.

- ffmpeg *register_all() at setStream0(..)
  - Only register devices if available _and_ camera is requested.
FFMPEGMediaPlayer: Fix av-audio-fmt -> AudioFormat parsing (fixedP was wrong for float values)
Fix libav/ffmpeg compilation; FFMPEGMediaPlayer Enahncements (More YUV*, Use def. high camera options, cleanup symbols)

- Fix libav/ffmpeg compilation
  - Split native GLContext code from JoglCommon
  - JoglCommon is required for ffmpeg_* c-compile/link

- Supported versions now:
  - 0.8 53.53.51
  - 9.0 54.54.52

- FFMPEGMediaPlayer
  - Update API doc, add compatibility .. etc

  - Pixel format conversions (via shader texture lookup func):
     - YUV420P, YUVJ420P
     - YUV422P, YUVJ422P
     - YUYV422

  - Properly handle aid/vid

  - In camera mode: set high default values
    - TODO: Make it configurable via camera URI:
      - video_size
      - framerate
      - ?

- FFMPEGDynamicLibraryBundleInfo
  - Cleanup symbols / remove unused (pre 53)
  - Add av_dict_* methods
Enhance GLMediaPlayer: Full FFMPeg support, 'dshow' camera support on windows, 2 more pixel formats, fail-safe data handling

- add support for ffmpeg 2 / libav 10 -> lavc55_lavf55_lavu52_lavr01

- add support for ffmpeg libswresample (similar to libavresample)

- handle BGRA (GL type) and BGR24 (texture shader)

- Change Camera URI semantics, drop 'host' and use 'path' for camera ID
  and use 'query' for options.

- add support for Window's DShow camera selection
  - our camera id -> index of list of video-input devices,
    this gives us same behavior as w/ Linux
  - requires windows libs: strmiids, uuid, ole32, oleaut32
  - Compiles w/ MingW64, works w/ libav/ffmpeg
  - TODO: test compilation w/ MingW 32bit !

- don't push data to texture if (linesize <= 0)
  this may happen due to buggy decoder / setup ..

Tested manually on GNU/Linux x64 and Windows x64:
  - GNU/Linux libav 0.8, libav 9, libav 10, ffmpeg 1.2, ffmpeg 2.0
  - Windows   libav 0.8, libav 9, ffmpeg 2.0
  - videos and camera
FFMPEGMediaPlayer: Handle v-flipped 'bottom-up' pictures ; Refine API doc 'camera ID'

If linesize is < 0, it is not invalid as assumed in commit eca6a5cb1e2beda84dfbafc31ed225e272f4f3fb,
but vertically flipped (bottom-up).

We have to adjust the data pointers, which are moved to the upper end of memory as well
and can proceed as usual.

TODO:
  - Update texture 'mustFlipVertically' to 'false' in this case.
  - Later:
    - Allow updating texture size ..
    - Whole pixel-fmt/texture-lookup-shader association must scale better,
      i.e. extract the 'knowledge' into one class, use a static shader code
      using uniforms instead of hard-coded values .. etc.
Texture: Add 'setMustFlipVertically(boolean)' allowing to change the flipped characteristics.
GLMediaPlayer enhancements: State, Camera options, detect and act on orientation change (flipped), API-doc,

- State
  - Fix state transition (initGL() error)

- Camera options
  - options uses ';' as query separator
  - don't use 'default' options, driver should know

- Detect and act on orientation change (flipped)
  - ffmpeg impl detects if flipped changes and triggers a SIZE update event.
    This allows application to react, i.e. re-init GL and use new TextureCoord's.
    Test: Works well on Windows w/ rawvideo dshow camera driver/codec.

- API-doc
  - TexSeqEventListener/GLMediaEventListener usage / constraints (GL, ..)
  - State transition fix
GLWindow: Shorten API-doc references
Doc/HowToBuild: Windows x32 and x64 require new MingW64 Versions, tested w/  >= 4.8.1

- The previous MingW64 would still work, however we should align 32bit and 64bit versions

- Mingw 32bit does not support dshow/com properly!

- Use MingW64 32bit builds solve the problem
Scripts/Windows: Test x32 and x64 builds w/ ffmpeg 2.x !
FFMPEG/GLMediaPlayer: Fix compiler errors w/ new MingW 4.8.1: 'strsafe.h' -> don't use tchar.h; Fix compiler warning: Add missing (intptr_t) cast.