Revert of [Telemetry] Create ForwarderFactory earlier on CrOS. (https://codereview.chromium.org/144283006/)

Reason for revert:
See https://codereview.chromium.org/134863005.

Original issue's description:
> [Telemetry] Create ForwarderFactory earlier on CrOS.
> 
> BUG=
> TBR=tonyg@chromium.org
> NOTRY=True
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=250448

TBR=tonyg@chromium.org,tonyg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250483 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 250483
Pixel tests and some shared quad state fixups

This adds some pixel tests for the output of SurfaceAggregator and fixes several
issues related to shared quad state management. This also concatenates the
transform for the surface draw quad with the quads aggregated into the root draw
pass of the referenced surface.

Shared quad state mapping is a little bit nontrivial when doing aggregation
since we copy the shared quad state entries from the aggregated frame's root
pass into the shared quad state list of the pass containing the surface quad.
When doing multiple levels of aggregation the relationship between the shared
quad list offset from the aggregated pass to the destination pass gets tricky.
Here's how this patch handles things:

Root surface root pass:
 shared_quad_state_list: [A], [B]
 quad_list: [Quad using (A)], [Quad using (A)], [Surface 1], [Quad using (B)]

Surface 1 root pass:
 shared_quad_state_list: [C], [D]
 quad_list: [Quad using (C)], [Surface 2], [Surface 3], [Quad using (D)]

Surface 2 root pass:
 shared_quad_state_list: [E]
 quad_list: [Quad using (E)]

Surface 3 root pass:
 shared_quad_state_list: [F]
 quad_list: [Quad using (F)]

We append the shared quad stats to the aggregated pass' list as we encounter
the quads that reference them, so the final aggregated frame looks like this:

Aggregated frame root pass:
 shared_quad_state_list: [A], [C], [E], [F], [D], [B]
 quad_list: [Quad using (A)], [Quad using (A)], [Quad using (C)],
            [Quad using (E)], [Quad using (F)], [Quad using (D)],
            [Quad using (B)]

Note that there's no shared quad state for the surface quads in the final shared
quad state list.  We use the transform and other properties from the surface quad's
shared quad state when aggregating, but don't need them beyond aggregation.

BUG=334876

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250484 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 250484