Replace hackish bresenham border-scanning with shadowcasting for caching player seen tiles.
Despawn monsters immediately upon leaving the active map instead of waiting until they are SEE[xy] off it.
A little restyling.
Merge branches 'pr/2970' and 'pr/2974'
Merge branch 'origin/master'