Flatten DevToolsClientImpl hierarchy in chromedriver.

It turns out we may not need to have a deeply nested hierarchy,
so this PR attempts to flatten this hierarchy as we're
creating child session instances.

This avoids a crash that would happen for grandchildren when
they're trying to use their parent's socket to send messages.

BUG=chromedriver:3165

Change-Id: I4fb22a7aeaf67321a062deb831ebc68ace904b7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1851227
Commit-Queue: Johannes Henkel <johannes@chromium.org>
Reviewed-by: John Chen <johnchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#704519}
3 files changed