Make the PDF plug-in accessible.

Makes the PDF plug-in accessible on all supported platforms by building an
accessibility tree for the PDF content and grafting it on as a subtree of
the accessibility tree for the embedding page.

It exposes all of the text of the PDF, including full support for computing
the bounding box of any arbitrary text range.  Using heuristics, automatically
groups the text runs into paragraphs and marks some of them as headings if
their font size is larger than the average for the page.

I wrote a browser test for this, to be reviewed in a follow-up changelist.

Currently the coordinates don't update if the user zooms.  I want to fix that
by using a transformation matrix after this change lands -
http://crrev.com/2047873002 - but scrolling works fine.

Future work might include incremental loading and support for links and maybe
even fill-in forms.

Depends on:
http://crrev.com/1953053002
http://crrev.com/2058453002
http://crrev.com/2050973003
http://crrev.com/2055903002

BUG=54724

Review-Url: https://codereview.chromium.org/2055953002
Cr-Commit-Position: refs/heads/master@{#402122}
25 files changed