Add a virtual destructor to a polymorphic struct that really should have one
Add some comments to game::list_items, to make it less incomprehensible
Items that won't take damage from a small fire can no longer be used to start
fires.
Make data structure sane, speed up loop in game::list_items

Replaced a scary triple-nested std::map with a vector. Moved filter-applying code to only happen when the filter is changed (rather than after every draw). General cleanup.
Update indentation/brace style of game::list_items()

Did the style update as a separate commit so that diffs are meaningful.
Split off filter-asking code into its own function, from game::list_items()
Make item filters persistent again
Leave a comment that filter behavior doesn't quite match the text
Move path-to-square drawing code into its own function
Update some comments in game::list_items()
Split off more code into its own function, for readability/modularity
Make reset flag not be the same variable as user input
Draw lit areas outside of LOS and normal sight radius the same as unlit areas
Add examine capability to nearby item list
Tell the player when their gear is damaged in combat
Make item examination window better, when looking at nearby items
Heating elements now obtainable from disassembling solder irons
Make lots of item methods const
Make map::generate_lightmap use has_flags for light source items
Const some player methods.