Enemies are (semi) implemented, and are (mostly) stable!  When you wander around the overworld,
you'll now see some bright green tiles.  These are kobold spawners, and if
you wait next to one for long enough, some kobolds will spawn.  Right now,
there is one spawner per chunk (in the overworld), and there are only Kobold
spawners.

Some things to be aware of in terms of functionality:
-Spawners are persistant, but will only spawn creeps if they are in the buffer
-Spawners will spawn creeps at (spawner_x + 1, spawner_y + 1)
-Enemies are not persistant, and are deleted upon going out of the buffer
-Enemies remain, but are inactive, in other layers, e.g. if you go down a layer,
    the enemies above will remain frozen until you reappear.  This could easily
    be changed.
-Enemies currently move randomly about the screen.  Attacking and directed
    locomotion haven't been implemented yet.
-Enemies are aware of everything in a certain square around them (currently 40
    spaces).  I don't think that my get_surroundings function is working properly,
    that will be the next thing to look at.   I think it might be off by 1 space.
-There is currently no limit to enemies.  That could change.  I may also make it so
    that a spawner is aware of the number of enemies it has spawned, and once it reaches
    that point, will stop spawning them.
-For some reason, lighting with enemies seems to work perfectly!  Things in the top layer
    seem to only appear in the Bresenham circle, and then completely disappear once it
    is no longer in that circle.  That's exactly what was suppposed to happen.
-Dungeons do not have spawners yet, and dungeon generation is still borked.  I may wait to add
    spawners to the dungeon until it is working again.  One theory I have for why dungeon generation
    is borked is that the rooms aren't connecting to each other anymore.

I also moved the canvas.refresh() and get_action() functions from the render to onLoop.
It is important that the functions in onLoop are run in the current order, as it layers
the canvas and top layer on top of each other correctly.
If you get any errors, let me know.  I think I've had one seg fault in the 10+ times that
I've run this, and I'm not sure what it's from.