Encorporates weapon stats into Ship#fireBullet

Also fixes unintentional global scope on some variables.
Makes all weapon firing stats a function of weapon

Particularly: shot cooldown, and bullet stats which are now
passed to bullet constructor as an object