Add fake implementation of ML service for browser test

Split the ServiceConnection into a virtual interface and a real
implementation, then add a fake implementation for browser test.

Tested:
Add a unit test FakeServiceConnection for the fake implementation.

Bug: 924738
Change-Id: I146121cb0b2aca654f73f215a023bb19714ef92e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1524814
Reviewed-by: Andrew Moylan <amoylan@chromium.org>
Commit-Queue: Xinglong Luan <alanlxl@chromium.org>
Cr-Commit-Position: refs/heads/master@{#642777}
6 files changed