Add circuit components by clicking on circuit diagram.

-Buttons for adding different kinds of components or removing components
are implemented using ControlP5 library.

-Also draws static 3D model when you click "Animate Model". This allows
you to quickly verify that components were correctly added into circuit
model.

Bug fixes:
-solve() method did not work on circuits with only one loop. The number
of equations was determined by (numNodes - 1) + numLoops. But when there
is only one loop, this evaluates to 0. Fix: added separate "if" to handle
case where numBranches == 1.
-multiple calls to solve() causes messes up the circuit model, especially
the battery voltages, which can become negative. Fix: re-initialize
component values with each call to solve().

Remaining bugs:
-"Animate Model" does not reset the mode button highlighting.
-Branch 999 potentials are not set correctly upon repeat calls to solve().
-Often when "Animate Model" is called, the perspective is strange.
If it gets it right the first time, successive calls are still correct.
Must quit and restart to try to fix the problem.
-Does not solve incomplete circuits-- should throw and error message.
-solve() with a short circuit is unpredictable-- should throw an error
message.