Beginning a refactor branch

This branch has three main goals:

- Change data flow to be pushed rather than pulled,
  using Qt's signals and slots.
- Change UI to use a QGraphicsScene and QGraphicsItems,
  rather than a bunch of very confused widgets.
- Refactor Node object into a simpler class that stores
  datums and UI handles (rather than having interlinked
  data and view classes).
Working on view selector and updated ui
Remove __main__ from view selector
Better makefile
Adding main window
Starting to rewrite main App class
Making a canvas object that combines qgraphics{scene,view} (since we're not going to have multiple views into the same scene
Beginning to work on canvas rotation
Panning around the canvas now works!
Store rotation in canvas and modify with r-click + drag
Let there be axes!
Errr, let there be axes *now*!
Let's start writing nodes
Basic point is now being drawn
Make rename canvas to _canvas
Antialiasing
Removing print statement
Do scaling in canvas.matrix instead of using qgraphicsview transform (this is cool!)
Save node and implement hover events
Click + drag now works on point3d control