fix fire/smoke propegation and damage

fire should only spread in the four cardinal directions.
smoke should only come as a result of fire when the fire goes out.
smoke should not spread into burning tiles.
units should be hit by fire if it spreads into the tile they occupy.
likewise for smoke.
fix some visibility stuff

whenever lighting gets updated, or terrain is potentially destroyed,
recalculate FOV