Created NodeConnector class

Node connecting logic now removed from Circuit class, but it uses a
NodeConnector object to do it.
Node passthroughs are no longer parented to the gate, but to the
circuit, resulting in them staying where they should when the gate is
moved.