Vector arguments, enhanced fire statement

Rewrote fire parser statement for greater robustness.
Added "with TYPE acceleration VALUE" fire flag, as well as "from TYPE
position VECTOR" flag.

position vector values can be absolute, meaning screen space, relative,
meaning absolute in relation to origin, or incremental, meaning relative
to previous bullet fired within action. Vectors are expressed as arrays
in the form [x,y]. Scripting for vector fields is not yet implemented,
but would probably function something like this:

fire bullet from relative position ([20+1, 50*20])