Updates to the stack

Changed ScriptState to ScriptStack, a small object that deals with
pushing and retreiving of values. It can allocate any number of bytes in
a single push, and retreives its values as chars. It is up to the opcode
to properly decode stack values.

changed op_push to make use of the new stack.

changed implementations of op_playanim and op_forceout to use the stack

re-wrote the two test collision scripts to make use of the new stack