headless: Initial headless embedder API implementation

This patch introduces the initial headless embedder API implementation.
It allows the embedder to initialize a headless browsing environment and
to navigate to a URL.

We also add a headless shell application to demonstrate the use of the
embedder API.

Adapted from a patch by Alexander Timin <altimin@chromium.org>

BUG=546953

Review URL: https://codereview.chromium.org/1674263002

Cr-Commit-Position: refs/heads/master@{#377973}
42 files changed