Okay, I've updated VectorPortrayal2D to permit Double2D etc.  Obviously the problem here is the use of atan2 to convert to orientation (and sqrt to convert to scale).  The only way to avoid this would be to draw the vectors using only orthogonal lines (like a T or something), rather than an arbitrary shape using affine transforms.

So what I've done is borrowed some code I had elsewhere which does a fast atan2 approximation.  It's fairly close and about 9x faster than atan2, resulting in about a 6x speedup.  If MASON is doing precise drawing, it'll use the standard atan2.

I also made a few internal tweaks.  Lemme know how it looks.