abstract out dataset accessors in preparation for fixing #67 and #68
fix offsetTop() for SVG elements on Firefox (fixes #67)
use a WeakMAp to remember animation names (fixes #68)

This way we don't have to use `dataset`, which is not available for SVG
elements in Firefox. See https://bugzilla.mozilla.org/show_bug.cgi?id=921834.
don't disable SVG animations in Firefox and Opera (closes #67)