leanback: new transport controls

PlaybackTransportRowPresenter is the new UX.

PlaybackTransportControlGlue extends from PlaybackGlue.
PlaybackTransportControlGlue is backed by PlayerWrapper.
PlaybackWrapper wraps underlying media player,
concrete example: MediaPlayerWrapper.

PlaybackSeekDataProvider defines the data interface that app
provides to leanback.
PlaybackUI defines seeking interaction between
PlaybackTransportControlGlue, PlaybackGlueHost and the presenter.

more:
- added progress bar support for media loading.
- fixed vertical video proportion and support video size change.

Test: PlaybackTransportControlGlueTest
PlaybackTransportRowPresenterTest.
Updated SampleVideoFragment.

Bug: 33751556

Change-Id: I1d39c6f65d04121f8cb9c25fb7ce103e32355190
diff --git a/v17/leanback/res/layout/lb_playback_fragment.xml b/v17/leanback/res/layout/lb_playback_fragment.xml
index 1b0ffa1..ab2909b 100644
--- a/v17/leanback/res/layout/lb_playback_fragment.xml
+++ b/v17/leanback/res/layout/lb_playback_fragment.xml
@@ -21,7 +21,13 @@
         android:transitionGroup="false"
         android:layout_height="match_parent">
 
-    <FrameLayout
+    <android.support.v17.leanback.widget.NonOverlappingFrameLayout
+        android:id="@+id/playback_fragment_background"
+        android:transitionGroup="false"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <android.support.v17.leanback.widget.NonOverlappingFrameLayout
             android:id="@+id/playback_controls_dock"
             android:transitionGroup="true"
             android:layout_height="match_parent"