Improved curve performance

Details in the commit message. Basically turns out the the GraphicsView was already doing something like Maya anyway so the usual mark-as-dirty and recalculate-on-draw approach works well for improving the performance. Might be cleaner ways of doing it but this achieves the result for the moment.

I haven't merged this commit into master so if you do grab it, you'll want to pull it down and then do:

     git checkout master
     git merge --no-ff curve-performance

Good times!