Reland "Picture-in-Picture: move key methods into a service."

This reverts commit 9a3eafe448d45259b15e2c8bfa4916da2b39ee75.

Reason for revert: the flake source was found and the test will be disabled until then.

Original change's description:
> Revert "Picture-in-Picture: move key methods into a service."
>
> This reverts commit 45675d0dfab5de54253d40cb2bd52ef034c3a200.
>
> Reason for revert: Speculative revert for crbug.com/930338
>
> Original change's description:
> > Picture-in-Picture: move key methods into a service.
> >
> > This is moving most of the Picture-in-Picture feature into a service.
> > Follow-up CLs will move the remaining methods and some Android auto-pip
> > code. It will also include further cleanups.
> >
> > This CL was meant to be the smallest CL that could move the core feature
> > set without breaking compilation or tests. It's larger than expected.
> >
> > Bug: 919860, 908400
> > Change-Id: I72c5faad9a14de6645a7cd1565b29d6a353e24a3
> > Binary-Size: cause unknown, landing approved by agrieve@
> > Reviewed-on: https://chromium-review.googlesource.com/c/1379049
> > Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> > Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#630361}
>
> TBR=dcheng@chromium.org,dalecurtis@chromium.org,beaufort.francois@gmail.com,mlamouri@chromium.org,agrieve@chromium.org,jochen@chromium.org
>
> Change-Id: I88efa31a23ab1c55b256e5813fa20fd2d8776a21
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: 919860, 908400, 930338
> Reviewed-on: https://chromium-review.googlesource.com/c/1461546
> Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
> Commit-Queue: Karan Bhatia <karandeepb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#630550}

TBR=dcheng@chromium.org,dalecurtis@chromium.org,beaufort.francois@gmail.com,mlamouri@chromium.org,agrieve@chromium.org,karandeepb@chromium.org,jochen@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 919860, 908400, 930338
Change-Id: I1bd2ab7ade56569a83951ec942685d9f77dc4af5
Binary-Size: cause unknown, landing approved by agrieve@
No-Presubmit: true
Reviewed-on: https://chromium-review.googlesource.com/c/1465063
Commit-Queue: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#631030}
41 files changed