Trigger SVG generation on a component basis, not on a layer basis

Fixes #74, replaces #80.