Let users to print a webpage into pdf through PrintToPDF devtools command
under headless chrome.

This patch includes:
1) adding a new print manager, i.e., HeadlessPrintManager to handle all the
   printing related IPCs for headless.
2) plumbing through the pdf data from HeadlessPrintManager to
   HeadlessDevToolsManagerDelegate to handle the PrintToPDF command.
3) adding a new option to PrintWebViewHelper on Mac to return all the printed
   pages in the first PrintHostMsg_DidPrintPage message as a single file.
   This makes it conform to Linux and Windows, which simplify the logic in
   HeadlessPrintManager.

This patch guarantees that HeadlessPrintManager is the only IPC entry point.
In the future, if there are requirements to support the same devtools command
in regular chrome, we may consider a framework to ensure multiple print managers
to work properly under a content embedder.

BUG=603559

Review-Url: https://codereview.chromium.org/2780433002
Cr-Commit-Position: refs/heads/master@{#463105}
24 files changed