Slight usability updates

Hey Julapy! Great work! I just added a few small things I'm curious if you want to add them in to your branch

I added in your point saving/loading code. I also added:

-Update matrix only when gui is present, otherwise return pre-computed matrix (to save CPU)
-Keyboard nudging of selected point 
-Snap point to mouse location with key press (useful if point goes off screen)
-Disables events if GUI is not on
-Highlights selected point with a color and adds indicator circle when nearby

Thanks again!