lightmap: 1000 % speedup of clustered light sources such as infernos and lava fields by eliminating redundant ray casting.
 Significantly mitigates arson-induced slowdown.

* map.h: added light_source_buffer[][], add_light_source(x, y, luminance)
* map::generate_lightmap: add certian light sources to buffer instead of apply_light_source,
    then iterate buffer and apply_light_source. Also correct redundant item_tag searching.
* map::apply_light_source: check light_source_buffer for neighbors in each direction. If one of
    >= luminance is present, skip casting light rays in that direction entirely