Navigation: Split NavigationSimulator interface and impl.

To be able to reduce internal content exposure in content/public
we make NavigationSimulator a pure interface and implement it inside
content. The implementation now lives in content/test. This also allows
us to have much stronger primitives usable only inside content (things
like StartWithParams()) that should allow to further convert unit tests
to use NavigationSimulator.

Used the opportunity to tidy up the forward declarations/includes.

Bug: 728571
Change-Id: Iba517e315fa3b3a069a2c77e7c6fbd636f2df02c
Reviewed-on: https://chromium-review.googlesource.com/c/1402571
Commit-Queue: Arthur Hemery <ahemery@chromium.org>
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621981}
4 files changed