The existing ShapeIntervals class has been converted into a template whose type specifies the type of the interval's x1 and x2 horizontal endpoints (formerly float).There were several other minor changes, all in the realm of refactoring:

- The original type was a struct with public x1 and x2 fields. It's now a class with x1 and x2 accessors.ASSERTS are now used to maintain the x2 >= x1 invariant. In the original code the invariant was not checked.

- The logical comparison operators have been overloaded for ShapeInterval. This obviates the IntervalX1Comparator class which has been removed.

- The names of the global ShapeInterval Vector set operation methods have been changed to reflect the fact that they're now members of the template class, rather than globals.

PolygonShape.cpp depended on the ShapeInterval class. In the one or two places where an interval's x1 or x1 fields had been set explicitly, ShapeInterval::set() is now used to set both fields. This also enables the invariant check mentioned earlier. The other changes to this class are syntactic, to account for the ShapeInterval class's changes.

There are no new tests, this was just an internal refactoring.

BUG=281666

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

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