Add support for case-insensitive attribute value selectors

Selectors Level 4 adds the syntax '*[foo="bar" i]' for making an attribute
value selector case-insensitive. Add support for that.

Does not alter the actual case-sensitivity match - i.e. matching is
performed using Unicode case-insensitivity rather than ASCII which
the spec expects.

Based on patch by <jl@opera.com>.

BUG=366563

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179370 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Interim change for using testharness.js from serviceworker tests.

The W3C testharness.js currently doesn't work from within a web worker
or a service worker. While this is being addressed upstream, this change
introduces worker-test-harness.js as an interim fix. It exposes symbols
to allow testharness to load and sets up handlers for capturing test
results that are then sent over to any client document that requests it.

New Service Worker tests should pull in the worker-test-harness.js as
follows:

    importScript('worker-test-harness.js');

The client document should invoke load the test harness using
service_worker_test() from resources/test-helpers.js:

    <script src="resources/test-helpers.js"></script>

    <script>
      service_worker_test('resources/my-worker-test-script.js');
    </script>

The service_worker_test() function handles:
  * Unregistering and registering the worker.
  * Create a message port and request test results from the worker.
  * Replay the results in the client document so that reporting
    infrastructure can properly report the results.

The test service worker is assigned to a scope that's unique to the top
level document:

   <origin of top level document>/service-worker-scope/<document-path>

BUG=374822

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

git-svn-id: svn://svn.chromium.org/blink/trunk@179371 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Simplify construction and usage of BasicShapeCenterCoordinate

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

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