Fix defense mod issues

Fixes #9326

The debug message "src/creature_tracker.cpp[91]: update_zombie_pos: no such zombie at 20,10 (moving to 66,12)":
- `monster::setpos` being called on a monster that is not yet places on the map, `setpos` calls the creature tracker to update the monsters position, but the creature tracker does not known the monster yet.
- Unlikely, but possible: the monster might spawn on a place where something else is in the way (either a monster or building), this is now checked by `game::is_empty`.

Changes the display of prices to use floating points, added '$' in front of the price and 2 digits behind the decimal-point and when subtraction prices use *signed* long because it can be negative.

Also: defense mode is soooo easy - if you place two friendly laser turrets at the entrance of the hospital (-: