[CSS Shapes] CORS-enabled fetch for shape image values

Access to shape images is now controlled by CORS per http://dev.w3.org/csswg/css-shapes/#shape-outside-property. Previously shape images had to be same-origin.

Shape image URL access is defined by the same logic that defines canvas tainting: same-origin and data URLs are allowed as well as images with a "Access Control-Allow-Origin:" header that's either "*" or that matches the document's origin.

A PotentiallyCrossOriginEnabled RequestOriginPolicy was added to ResourceLoaderOptions, to indicate that a "potentially CORS-enabled fetch" was to be undertaken. The CSSImageValue::cachedImage() method now handles this option by effectively setting the "Origin:" request header (see updateRequestForAccessControl() in CrossOriginAccessControl.cpp). StyleResourceLoader::loadPendingShapeImage() uses the new ResourceLoaderOption.

The static ShapeInsideInfo and ShapeOutsideInfo isEnabledFor() method now performs the CORS check for image valued shapes. The private isOriginClean() method from CanvasRenderingContext2D has been moved to the CachedImage class so that it can be shared by the Canvas and Shape implementations. It checks the response headers per the CORS spec.

BUG=309742

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

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

Abstraction layer no longer needed in Blink. Call Platform.h methods directly.

BUG=297477

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

git-svn-id: svn://svn.chromium.org/blink/trunk@160605 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Devirtualize several SVG classes destructors

Devirtualize several SVG classes destructors as these classes are never
subclassed, nor do they have any virtual function. This avoids creating
unnecessary vtables.

BUG=311561

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

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