General refactoring and performance tweaking.  Found a few sqrt and norm
calculations that could be replaced with faster ops.  Moved
GBObjectClass into simulation where it belongs.  Other stuff I might not
remember.

Split out a bunch of graphics changes into another commit; can't promise
this commit will compile by itself without them but I once again forgot
to commit between undertakings.
Big graphics update.  Prettier robots using RadialGradientPaint, with a
center that moves as the robot does.  Still work to do making to robot
decorations look right under the new regime but it's enough for a couple
days work.

Added some methods to GBProjection so we could work directly with Double
versions of rectangles and ovals to avoid many of the annoying casting
and rounding issues in the draw routines.

This is the second half of a bunch of changes I made without committing
between tasks.
Finalized Radial Painting and got the decorations to render correctly in
the focus circle.

Added arcing to the GBGrenade graphics so it looks like a grenade.  THe
shadow still goes straight so you can see where you aimed.