world: implement item base class
world: implement crate objects for holding items

items are stored in crates before they are picked up and used by and
actor.
world: implement heart item

heals the user by 10 when used.
should be automatically used when the crate is opened.
its crate is a picture of a heart.
world: make actor automatically use items

when the actor walks over a crate, if the contained item should be
automatically used, use it.
game: spawn heart items sometimes when enemy dies
world: allow actors to pick up and later use items

for items which shouldn't automatically be used the actor will pick the
item up when it walks over the item. it can then be used later.
world: make human actors use item on enter press
game: display player's held item along
world: don't add nil bboxes to collider

if an object's get_bbox() returns nil do not attempt to add or remove it
from the collider
world: implement explosions

they damage anything they collide with for a short duration.
world: implement bombs

items which can be picked up by actors. when they are used they appear
back on the map and a timer counts down. when the countdown reaches zero
it causes an explosion.
game: spawn bombs sometimes instead of hearts
world: implement missile item

when used it find the nearest actor (besides the shooter) and target
it. it will move towards the actor until it crashes into something at
which point it will explode.
game: spawn missiles sometimes
world: sort objects by depth when drawing
game: add extra enemy for every 5 killed
world: only emit on-death signal once per actor

if health was already zero before the actor takes more damage do not
emit the signal again.
game: give player 100 health and max health
game: use assets loader more. preload images

stops the game skipping the first time and item or explosion appears.