NOTES: TODO: * panels and everything except renderer should use character coodinates * camera shake broken * draw_screen doesn't do x axis offset render * Can std::any be defaulted to a noop in the events? * Save file isn't saving gold. * Inventory needs to be better, but need some kinds of "weapons" or other loot to get and not just gold. * Run the ansi_parser on the whole UI so I can use colors and other glyphs. * Create a few more enemy types to fight. * Devise a more complete map/world generator that can use the loot and enemies better. * Maybe an LOS system, but the hearing version works pretty well so far. * Probably a system for mapping collision types to sound effects, rather than having the GUI do it. * Write a test that generates a ton of maps then confirms there's a path from one room to every other room? * Lua integration? * check out SoLoud. * BUG: When enemies die they can be overlapping another enemy.