Graph Object Update and bug fixes

Update the program to use a graph object as the main way to manipulate
the view. Easily add nodes and links.

Fixed a bug in the link QML where when 2 nodes were placed vertically
the link would rotate by 90 degrees.

Updated node, link, and graph methods are made available.