Speed-up Arc.tangents()

Doing some profiling using cProfile shows that the bulk of time
spent in the arc code is spent in Python object churn, specifically
creating and copying lots and lots of vectors...  As an example,
this simple rewrite to avoid transient Vector objects shows a 20%
speedup for me.  There's no point going down this path though,
Python objects were not designed for these kinds of calculations.
[behdad] Minor