Split preserve3d into: "should-flatten" and "is-3d-sorted"

Preserve3d has implications for both sorting and flattening of
transforms. This is a bummer. Sometimes we want to allow a transform to
remain unflattened, but we don't want that to affect 3d sorting. With
this CL, we will have the ability to do that.

Note: this is essentially this cl
https://codereview.chromium.org/100393005/

..minus the generalizations to sorting that were being attempted in that
patch.

Note, this CL is gated on https://codereview.chromium.org/98373011/ 

R=enne@chromium.org
BUG=338980

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

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

http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog_blink.html?url=/trunk&range=166752:166755&mode=html
TBR=
BUG=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249975 0039d316-1c4b-4281-b951-d872f2087c98
Makes FontList light-weighted introducing FontListImpl.

Like Font class has scoped_refptr<PlatformFont>, makes FontList have scoped_refptr<FontListImpl>.  FontListImpl is almost the same as the old FontList and implements all functionalities.

There are two major benefits with this CL.
1. Copying a FontList to another FontList is very quick.  It just copies a scoped_refptr.
2. Calculated font metrics are shared among all FontList instances which refer to the same FontListImpl.

In addition, this CL may fix Issue 340396.  I don't fully understand the cause yet, but it seems that copying the object in a ctor is causing the issue (It's a little tricky, but I thought it should be okay).  This CL doesn't copy the object.  So I think this CL may fix the issue.

BUG=340396
TEST=Run ui_unittests, views_unittests and unit_tests.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249976 0039d316-1c4b-4281-b951-d872f2087c98
Update .DEPS.git

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