First Real Commit

Changes
---------
-> a lot of code in main.js has been put into a class called Simulation.
-> functionality for pause/start ability has been added but is not
currently enabled for users inside the application
-> node generation changed so that nodes do not spawn on top of one
another
-> edge generation changed so that two nodes can only have one
connecting edge
-> edge generation changed so that edges do not intersect nodes they are
not connected to (non-working)
-> new math library for vector and matrix math: sylvester