VectorRenderer implemented.  Resolves #75

I've beat on this for a while now and tested weird edge cases.  It seems to be working now, including the "soft orphaning" of  objects that lose all kOS references but not all C# references. (a needed feature for the VectorRenderers to clean up after themselves properly.)

This is not meant for 0.12.1 but I want people to be able to look at it and possibly pull it as soon as we're ready to do 0.13.  I'm hoping the changes that are coming to satisfy 0.12.1 don't make merging this (based on 0.12.0 code) too messy.

Example of "soft orphaning" working:
```
set vd to vecdraw(up*vector*20,v(1,0,0),red,"x axis", 4,true).
// Now there is a red arrow 20 meters above ship CoG, pointing X-ward.
set vdAlso to vd.
set vdAlsoAlso to vd.
set vd to vecdraw(up:vec*20,v(0,1,0),blue,"y axis", 4,true).
// Now there is a blue arrow 20 meters above ship CoG, pointing Y-ward,
// and the red "x axis" is still showing as well because of vdAlso and vdAlsoAlso.
unset vdAlso.  // removes one reference to the "x axis" vecdraw
set vdAlso to "blah". // removes the other reference from the "x axis" vecdraw.
// Now the red X arrow disappears leaving only the blue Y arrow.
set vd to vecdraw(up:vec*20,v(0,0,1),yellow,"z axis", 4,true).
// Now the blue "y axis" arrow disappears as vd, it's last reference, has been
// reassigned.  The new yellow "z axis" arrow takes its place.
set vd to 0.
// The yellow "z axis" arrow disappears too.
```