Added saving/loading, changes to wire and circuit

Saving and loading are implemented!
   Saving asks if the user wants to overwrite and existing file
   Loading does not yet ask about unsaved changes

Circuit now keeps track of wires along with components
   Wires are not just visible to the components that 'own' them

Right clicking when creating a wire will allow the user to select an input again
if the wire is removed

Some other small changes