nativewindowpriv: use native_window_priv as a handle
nativewindowpriv: add is_hw arg in setup
nativewindowpriv: add lock/unlock Data
nativewindowpriv: fix connect before ics
android: rename jni_SetAndroidSurfaceSize
android/utils: add ChromaToAndroidHal
modules: add android_window vout

 - used for direct and non direct rendering (replace opaque.c)

 - use nativewindowpriv: more control than the public api, since you can set
   orientation, crop, cancel a buffer without displaying it and allocate more
   than one buffers.

 - fallback to nativewindow if nativewindowpriv fails (with only one buffer in
   the pool then).

 - Only one way to display subtitles: use a seperate android surface.

 - Fix subtiles display in case or source aspect != 1.
android/surface: remove single_instance
android/surface: fix leaks if Open fails
android/surface: use calloc
android/surface: don't use native_window
android/surface: use native_surface from jni

(see android commit "jni: add jni_AndroidJavaSurfaceToNativeSurface")
android/surface: drop YV12 support

YV12 works only with android native windows.
android/surface: configure surface synchronously

Set surface color and size synchronously using jni calls.
omx-dr: remove jni_SetAndroidSurfaceSize call

It's now handled in android_window
mediacodec: remove unused code/variables
mediacodec: remove jni_SetAndroidSurfaceSizeEnv call

It's now handled in android_window
mediacodec: fix width/height in case crop is invalid