Added firing code, more refactoring

Added firing code to all relevant classes.
Changed the cross update code to use a more smooth update rate instead
of the fast and slow constants which made it jerky. Speed of the cross
update is now proportional to how far away it is from the target.
Cleaned the code up a bit, just fixing indenting etc.