#12: added disposal method to class
#12: added disposal method to class
#12: added rectangle sprites
#12: added cascade for disposal method to ensure all components get disposed
#12: added most of the code for victory substate
#12: added "dispose old state" flag to changestate
#12: updated text sprites to use params object
#12: updated text sprites to use params object
#12: updated to copy position and dimensions, not use the obj given
#12: updated ai to stop firing when destroyed, and updated state changes to use the new victory and defeat states
#12: fixes to make it work
#13: added defeat state
#13: added defeat state
#13: added defeat state
#13: added defeat state