Implemented proper Gun System

Still very simplistic. A more effective implementation may be required
as it is currently reasonably difficult to make design changes to this.