ADD: [droid] libstagefright dvdplayer hw codec

Continuation from #1832.

libstagefright 101
------------------------
libstagefright is a wrapper around the set of OMX codec components present on the system.
It can handle both software and hardware codecs, but we only consider hardware ones for XBMC.
libstagefright pulls MediaBuffer input via a MediaSource interface and outputs MediaBuffer's.
The MediaBuffer's can be either a plain buffer or a GraphicBuffer, which is a mapped to VPU memory.
To be able to use HW buffers, you have to pass an Android surface to libstagefright.

The basics
----------------
- We create a MediaSource descendant, "CustomSource", which will be the output of our demuxer (via "CStageFrightVideo::Decode") and the input of libstagefright
- We create an Android SurfaceTexture, which is a surface mapped to a GL texture.
- We create the libstagefright interface via "OMXCodec::Create" in "CStageFrightVideo::Open". This returns a "MediaSource" inteface, too.
- We create a thread, "CStageFrightDecodeThread", which will loop on reading output frames from stagefright via "MediaSource::read". Behind the scene, stagefright will read input frames via "CustomSource::read". The output frames are "GraphicBuffer"'s
- In "CStageFrightVideo::Decode", we take the output GraphicBuffer and draw it to an FBO mapped texture. We then pass this texture (via an EGLImageKHR) to the renderer.

The challenge
--------------------
The biggest problem is to pass the HW GraphicBuffer to the renderer because decoder and renderer are not in the same thread.
- The HW buffers are in an  opaque format (GL_OES_EGL_image), so no copy
- Passing the HW buffers to the renderer is problematic because releasing them in a different thread causes deadlocks.
- We have to lock the buffers because if we map an EGLImgeKHR upon them, if the content of the buffer changes, so is the image (just a pointer) and frames become grabled.

This is why I use FBO's to first draw the output frame to a texture, then pass a EGLImageKHR mapped to this texture to the renderer.
Note however that I basically know nothing of EGL/Open GL, so there might be other, simpler solutions...