Move spire creation back to the GLWidget.

GLWidget has access to mouse and a bunch of GL dependent functionality.
It makes sense that the majority of UI communication to spire would
occur through GLWidget.