cleanup and fix some crap
  do not include TreeDrawer junk in Feature, use events
  make IPathDrawer an EvenClient, not DefaultPathDrawer
  undo wrong collision-volume transform in QuadField
  calculate LaserCannon projectile ttl from weapon range, not weapondef range
  add float3::LengthNormalize to get rid of { float3 dir = b - a; float len = dir.Length(); dir /= len; } pattern
  clear projectile death-dependence on old target (if any) in SetProjectileTarget
  change GetProjectileTarget to return target position if projectile has no target object
  remove SolidObject::residualImpulse and ::StoreImpulse which had no purpose anymore