Initial commit of branch: Needed spcecialised code for manaing adding
and removing hazards and automatically reassigning ids. Added tests for
this as well, and began working on UI for editing the types of hazards
in the world.
Next step is to flesh out the UI with add/remove buttons and allow the
customisation of hazards, as well as the automatic display (similar to
the sprite picker) of what the hazard will refer to.
Going to scrap the Image List idea and just quickly get a basic list
showing Hazard Ids working, since I am encountering too many issues
Added ability to add hazards to screen, but changes cannot be saved, nor
is there a remove button, an ability to edit, and it uses text instead
of graphics (will need to work on a better list implementation when the
nuts and bolts are done)
Hazards now properly save. Was accidentally trying to serialise a
graphics context before.
Added ability to delete hazards.
GUI is looking really messy. I will look into cleaning it up when it is
functional.
Added some sanity checking to prevent the adding of hazards if the
sprite sheet has no more options.
Stubbed out where I want to add edit functionality. No visible changes
yet.
Added ability to modify hazard properties. However, have a small issue
whereupon after modifying something and closing the window, if reopened
it will always show the list completely small and the view messed up. If
I save and restart, it is still like that.
Edit: Appears that marking something as 'Does not Explode' will cause
the GUI to mess up, although changing death animation is fine. Not sure
why this is.
Fixed issues where Hazard list would just collapse in GridBagLayout.
Things have been re-sized and it's a little better. Not pretty but at
least functional
Hazards can be added from editor to the world, saved, and loaded. This
once again breaks old file formats (not that it matters; no large use of
them)

Hazards do not currently have collision detection.
Hazards now actually kill Bonzo. Explodable ones do indeed vanish after
taking bonzo out.
However, they vanish permentanly (they should respawn when the level is
reloaded) and the exploding animation for the bomb itself has not yet
been coded.