Use SVGs to enable mouse interaction with filters.

Generating an SVG with embedded PNG images is
workable, but it's difficult to smoothly refresh
or swap SVGs in Javascript.

This commit overlays a transparent SVG on top of
the filter display.  This SVG remains unchanged
while its background image is refreshed when the
timeline changes.  This is fairly efficient since
the layout of the filter displays remains constant
while their contents change on every frame.