libstagefright/omx: Fix observer died logic.

- Handle freeNode when the component is in OMX_StatePause.

Change-Id: I3bae2015c57b932186069756490c9bdf1f93eea4
libstagefright/omx: Fix CallbackDispatcher dereference in callback.

    - findDispatcher can return NULL. Check for NULL.

Change-Id: I07edc427b706dfdeec6a6f90f13d00c8941e77f2
rework codec integration
avcenc: Prepend startcodes to output buffers

This makes the encoder output data that is similar to what
actual HW encoders output. This form is also what is expected
by virtually every other component - the only exception
seems to be stagefright's MPEG4Writer which happens to work
with this format.

This also makes the encoder's output work in other decoders
when passing through directly. If feeding the encoded data
straight through to a decoder (such as in the EncodeDecodeTest
CTS test), the output from OMX.google.h264.encoder cannot be
decoded by e.g. OMX.Nvidia.h264.decode on a Nexus 7 or
OMX.SEC.avc.dec on a Galaxy S3.

Change-Id: I6e16433a4a66936e3080723c8233681f53bd55e5
add vp6 mimetype support
add aac dts mimetypes
add back vp8 and vp9 mimetypes
update ffmpeg integration
add mInSmoothStreamingMode boolean back