feImage: detect circular references now that primitives are resolved early
feImage: detect circular references now that primitives are resolved early

This introduces a `Source` enum, where the interesting cases are these
for feImage:

    enum Source {
        Node(Node),
        ExternalImage(String),
    }

In the `Node` case, we later use that node for
`acquired_nodes.acquire_ref()` while rendering the feImage.  This
makes it possible to catch circular references when there is a a
feImage that references a node, that references a filter, that
references the same node.

GNOME/librsvg,GNOME/librsvg,GNOME/librsvg,GNOME/librsvg