[StartSurface] Introduce StartSurface

This CL has no user visible changes.

Check go/start-surface for details and background information.

In this CL:
1, moved and renamed the 'GridTabSwitcherLayout.java' and its tests accordingly
2, put the feature behind the ‘TabGridLayoutAndroid’ flag
since one of the surface is the grid tab switcher
3, introduced the 'TwoPanesStartSurfaceAndroid' flag for the bottom bar and explore surface
4, added 'StartSurfaceCoordinator', 'StartSurface', 'StartSurfaceDelegate', 'StartSurfaceDelegateProvider' etc
5, added BottomBarCoordinator and ExploreSurfaceCoordinator as place holders

Bug: 982018
Change-Id: I9ea3e75efb187a612cbd81b3f81a7b15e9b0b770
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1695750
Auto-Submit: Ganggui Tang <[email protected]>
Reviewed-by: Tibor Goldschwendt <[email protected]>
Reviewed-by: Wei-Yin Chen (陳威尹) <[email protected]>
Reviewed-by: Yusuf Ozuysal <[email protected]>
Commit-Queue: Ganggui Tang <[email protected]>
Cr-Commit-Position: refs/heads/master@{#677855}
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 03f09e0..6e5f67ca 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1514,6 +1514,9 @@
 extern const char kTranslateAndroidManualTriggerName[];
 extern const char kTranslateAndroidManualTriggerDescription[];
 
+extern const char kTwoPanesStartSurfaceAndroidName[];
+extern const char kTwoPanesStartSurfaceAndroidDescription[];
+
 extern const char kUpdateMenuBadgeName[];
 extern const char kUpdateMenuBadgeDescription[];