Copy nodes & links before layout to avoid circular references
Copy nodes & links before layout to avoid circular references

d3-sankey-diagram modifies the node and link objects to add references to link
source & target and node incoming/outcoming links, which breaks saving the
widget state. This is a quick fix but it might be better to use a custom
serializer to choose exactly what is saved.

ricklupton/ipysankeywidget,ricklupton/ipysankeywidget,ricklupton/ipysankeywidget