[base] Delete MessageLoopImpl!!

The SequenceManager backed MessageLoop is already the default everywhere
since crrev.com/626054.

A *lot* of care and many steps have been taken by others to get here:
https://docs.google.com/document/d/1m1serxN-Crs6lEkpwab7_dIM1-HmBXohv8asCCvCfhw/edit

The SequenceManager backed MessageLoop is now more or less at
performance parity with the MessageLoopImpl backed MessageLoop, i.e.:
(must ignore range between r626054 (incl.) and r626525 (excl.))
With UI pump:
  1.2X slower on Android : https://v2spa-dot-chromeperf.appspot.com/#session=fefb3fc5d3cb06a00e4e70237e00beb297efce77f79246488b9b30e67b79b81b
  1.8X faster on Mac : https://v2spa-dot-chromeperf.appspot.com/#session=bfbbfd6c2737e8abd0aea88042968c1161a7a74923a8c77542faa2eb126dbe7b
  1.2X slower on Linux : https://v2spa-dot-chromeperf.appspot.com/#session=6c1f272362af6f1aa5919a559e33d00aae33e8ccc4bbbaf3d3096a698fd336fa
With IO pump:
  1.4X faster on Android : https://v2spa-dot-chromeperf.appspot.com/#session=883ceec1a3ea6d953c87b6194075c3f986dcaf44a71d1b59b8f8553163cb584b
  1.5X faster on Mac : https://v2spa-dot-chromeperf.appspot.com/#session=ae98eeec6ba6b3f9c2d5dac5e369585045809ea60d49b4c4f75758a2b83a3523
  1.1X faster on Linux : https://v2spa-dot-chromeperf.appspot.com/#session=7f1d70a1605a4671157cffa2b879e84a8780a34eb50ed5ffe15bbeccb3c45d0e
With default pump:
  1.2X slower on Android : https://v2spa-dot-chromeperf.appspot.com/#session=c81cac2c9be1eba46d21c8d022225019e0c9ae6d1d084b432aaffa0ae532da6f
  1.4X slower on Mac : https://v2spa-dot-chromeperf.appspot.com/#session=5e1c95fd38dc6765bd24a3d455c79e8979a4ec4a1ab4efcf22765ae887eb9213
  1.5X slower on Linux : https://v2spa-dot-chromeperf.appspot.com/#session=fc0250fb0e64e90503c790bbe1c2c0d6750741f3c6ccd0f682bbbc6d4a86eb17

Remaining differences are most likely because of the difference between
DoWork/DoDelayedWork handling with SequenceManager. SequenceManager
doesn't make the distinction and thus runs 2x more application tasks
than the traditional MessageLoopImpl did for every system task; this
explains the gains in the IO pump IMO. Because of this however
ThreadControllerWithMessagePumpImpl has to do more ScheduleDelayedWork()
calls than necessary; this explains the regressions in the UI pump IMO.
This will be addressed by bit.ly/merge-message-pump-do-work but that
change is significantly harder to make while MessageLoopImpl is around.
As such, since having two implementations is now slowing down further
progress and since the way forward is clearly with SequenceManager : it
is now time to make the leap!

Many more cleanups are expected to follow, e.g.:
 a) We currently sometimes install a SequenceManager on top of
    MessageLoop (which is now backed by another SequenceManager).
 b) MessageLoop/MessageLoopBase are now mere wrappers and can be vastly
    simplified.
 c) Per (a) ThreadControllerImpl can go away and be replaced by
    ThreadControllerWithMessagePumpImpl everywhere (and that one can be
    renamed since it'll again be the only ThreadController).

Bug: 891670, 885371
Change-Id: Ica99d5e507097c09bc82f53272ed3be6dc781cad
Reviewed-on: https://chromium-review.googlesource.com/c/1440828
Auto-Submit: Gabriel Charette <gab@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Reviewed-by: François Doray <fdoray@chromium.org>
Reviewed-by: Alexander Timin <altimin@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#627191}
17 files changed