Added weapon class to derive more weapons from.

Moved code for portal handling and gelgun firing to their respective objects.
(With the exception of the shootportal method which is still global.)
Changed mario's .t value to reflect the weapon he is initialized with.