Test that no clamping occurs before interpolation

In the context of color, the spec encourages late clamping but does not
require it:
"User agents should clamp color values to allow color range values as
late as possible, but note that system differences might preclude
consistent behavior across different systems."
http://www.w3.org/TR/SVG/animate.html#AnimateColorElement

With opacity, nothing prevents us clamping late, after interpolation.
Use of late clamping has been observed on the public web.
Merge pull request #68 from ewilligers/clamp-after-interpolation

Test that no clamping occurs before interpolation
Support animation of the 'display' attribute.

For now, we support SVG's list of display values:-

http://www.w3.org/TR/SVG/painting.html#DisplayProperty
inline | block | list-item |
run-in | compact | marker |
table | inline-table | table-row-group | table-header-group |
table-footer-group | table-row | table-column-group | table-column |
table-cell | table-caption | none

Note that CSS also defines values for display:-

http://dev.w3.org/csswg/css-box/#display
inline | block | inline-block | list-item | run-in | compact | table |
inline-table | table-row-group | table-header-group | table-footer-group
| table-row | table-column-group | table-column | table-cell |
table-caption | ruby | ruby-base | ruby-text | ruby-base-group |
ruby-text-group | container | flex | inline-flex | none

http://dev.w3.org/csswg/css-grid/#grid-containers
grid | inline-grid

http://dev.w3.org/csswg/css-flexbox/#flex-containers
flex | inline-flex

http://www.w3.org/TR/CSS2/visuren.html#display-prop
inline | block | list-item | inline-block | table | inline-table |
table-row-group | table-header-group | table-footer-group | table-row |
table-column-group | table-column | table-cell | table-caption | none
Merge pull request #69 from ewilligers/display

Support animation of the 'display' attribute.
Simple sync-base dependencies

We now support animations beginning or ending in response to other
animations beginning or ending.

We don't yet support negative offsets - where an animation begins or
ends because another animation is scheduled to begin or end soon.
Merge pull request #70 from ewilligers/simple-sync-base-dependencies

Simple sync-base dependencies
Exercise syncbase timing using beginEvent

In SMIL begin and end attributes, animations can have their timing depend on other
animations starting by using id.beginEvent or id.begin.

The difference is that id.begin is synchronous, while id.beginEvent
waits until the main thread is processing events.

See
http://www.w3.org/TR/SMIL20/smil-timing.html#Timing-EventSensitivity
http://www.w3.org/TR/SMIL20/smil-timing.html#q134
Merge pull request #71 from ewilligers/sync-on-beginEvent

Exercise syncbase timing using beginEvent
Revert "Test that no clamping occurs before interpolation"
Merge pull request #72 from smil-in-javascript/revert-68-clamp-after-interpolation

Revert "Test that no clamping occurs before interpolation"
Hold attribute constant if values has one element

When an animation element's values attribute contains only a single
entry, we use this value for the duration of the animation. (Web
Animations considers a single keyframe to be the keyframe for
offset 1 only, so we instead pass two keyframes to Web Animations.
Code cleanup from code reviews

The test from
https://github.com/smil-in-javascript/smil-in-javascript/pull/68
has been moved to a test with adjacent rectangles, so opacity animation
can be checked visually.
Avoid flakiness in sync-base test

The sync-base was sometimes failing with the natively animated element
not having been modified yet at the time we first checked it. Inspecting a property at the time the animation begins lets us avoid the flakes.
Merge pull request #76 from ewilligers/syncbase-test

Avoid flakiness in sync-base test
Web Animations accepts comma delimited rotate

Scale and transform already accept comma delimited values. Now rotate
does too. The second and third values are for the rotation origin.
Merge pull request #75 from ewilligers/rotate-with-commas

Web Animations accepts comma delimited rotate
Merge pull request #74 from ewilligers/simpler-suffix-stripping

Code cleanup from code reviews
Merge pull request #73 from ewilligers/single-value

Hold attribute constant if values has one element
Set user data directory when running layout tests

The user may have a different version of Chrome from that used to run
the layout tests. We use a custom user data directory to avoid version
conflicts and warning messages.
Merge pull request #77 from ewilligers/chromium-config-dir

Set user data directory when running layout tests