Optimize PODFreeListArena::freeObject by using a single shared free list between chunks, rather than each chunk containing it's own free list. This makes ::freeObject O(1) rather than O(n) for the number of allocated chunks. Brings average page load time of oilevent.com (from tough_layout_cases) from ~20s to ~1.7s on my z620.

Also moved some tests from Source/web to Source/core.

BUG=260903
TEST=Run tough_layout_cases page cycler, should load reasonably quickly now:

tools/perf/run_measurement --browser=release page_cycler tools/perf/page_sets/tough_layout_cases.json --page-filter=oil

Review URL: https://chromiumcodereview.appspot.com/19815003

git-svn-id: svn://svn.chromium.org/blink/trunk@155447 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Add presubmit check for run-bindings-tests

run-bindings-tests should be run (and succeed) for any changes to
Source/bindings. This is particularly important to make sure tests are
rebaselined when changes are made to the code generator.
This adds a PRESUBMIT.py script to do just that!

Checked that this worked by changing a test IDL in
  Source/bindings/tests/idls
...and running
  git cl upload
...which then gives a presubmit warning, as desired!

Script based on GetUnitTests in
tools/depot_tools/presubmit_canned_checks.py
...which seems exemplary. I've stripped it down to the minimum. Ref:
http://src.chromium.org/viewvc/chrome/trunk/tools/depot_tools/presubmit_canned_checks.py?view=markup

Proximately, this is in reply to Erik's request:
https://codereview.chromium.org/19047003/#msg5

Review URL: https://chromiumcodereview.appspot.com/21722003

git-svn-id: svn://svn.chromium.org/blink/trunk@155448 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Cleaning up FontCustomPlatformData.

Mostly code movement. Split the Skia and Windows logic into separate files
(since they had almost nothing in common anyhow), unify the headers, and update
use of smart pointers.

BUG=None
R=pdr,fmalita

Review URL: https://chromiumcodereview.appspot.com/20049004

git-svn-id: svn://svn.chromium.org/blink/trunk@155449 bbb929c8-8fbe-4397-9dbb-9b2b20218538