Split TabStrip ideal layout code into a new file.

This patch creates TabStripLayoutHelper, a new class that is reponsible
for ideal bounds generation. Since both Tab Groups and Tab Scrolling are
about to add a lot to this step, this will prevent that complexity from
being visible to TabStrip, which is already complex enough.

Bug: 905491, 949660
Change-Id: I179a332e815c0bb9c415e695b94622617ff19982
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1584928
Commit-Queue: Bret Sepulveda <bsep@chromium.org>
Reviewed-by: Taylor Bergquist <tbergquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#654286}
7 files changed