Replace a cyclical reference from `SynapticPathway` to `Synapses` with a weak reference
Move `gc.collect()` from `MagicNetwork.run` to `Network.run` -- it is useful for repeated simulation with explicitly constructed `Network` objects as well.