Add xlink example with animate inside defs

When using xlink:href to specify the element being animated, the animation tags can appear anywhere in the SVG document. For example, they can appear inside a defs fragment. Some public websites use this style.
Merge pull request #63 from ewilligers/animate-inside-defs

Add xlink example with animate inside defs
Correct names and types for SVG attributes

lighting-color, flood-color and flood-opacity can now be animated.

x and y and rotate can now be animated as lists. This is useful for
altGlyph, text, tref and tspan elements.
Merge pull request #64 from ewilligers/x-y-list

Correct names and types for SVG attributes
Exercise paced motion along a path

Add a test using animateMotion with calcMode="paced" for paced motion
along a path.
Merge pull request #65 from ewilligers/motion-path

Exercise paced motion along a path
Compare against natively paced motion

Correct test case animateMotion-paced.html so that one element is moved
using SMIL in JavaScript and the other element is moved using Chrome's
native SMIL implementation. Checking visually, the two elements move identically.
Merge pull request #66 from ewilligers/native-motion-path

Compare against natively paced motion
Allow 'none' and 'currentColor' for stroke, fill

'none' and 'currentColor' are valid values for the fill and stroke
attributes
http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint

'currentColor' causes the color from the 'color' attribute to be used.

'none' means than no paint is applied.
Merge pull request #67 from ewilligers/current-color

Allow 'none' and 'currentColor' for stroke, fill
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"