surface: Make A10's gun bullets advance in subframe precision.

The A10's main gun, Avenger's rate of fire is so high that we'd need
subframe simulation steps to divide individual bullets, especially in
low frame rate.

It's made thanks to the previous commit that made changes to core
executable.
Add RandomSequencePtr class accessible through CoordSys from Squirrel.

The class is merely a pointer to RandomSequence object.  It's necessary
to be a pointer because pseudo random number query is mutable operation
which should affect internal state vector of the RandomSequence object.

RandomSequence is member of WarField, not really a member of CoordSys,
but it's the same thing from Squirrel script's point of view.

There's a known vulnerability in this scheme that accessing freed memory
is possible through holding RandomSequencePtr object after its containing
object (WarField) is destroyed.  This case should be extremely rare but
certainly possible.  We don't take care of this issue right now, but
adding weak pointer scheme or something is necessary to work around
this correctly.
Make Vec3d's elements accessible through indexing in Squirrel scripts.

It means you can write like vec[0] to access the first element of a
vector.  This simple syntax have been not supported because you can
write basic linear algebra without it.  But now that we are moving much
logic to scripts, we'd like to use the syntax.

The syntax is also free from 'updating temporary object' pitfall by
compound assignment operators, such as +=, -= and *=.
surface: Add random factors to A10's gun fire.
Add splash (area) damage to ExplosiveBullet.

The splash damage decays proportional to distance from epicenter.
surface: Add splash damage radius to explosive rounds.