* fixed a possible race condition in the game map
* use atomic for character position
* added wrapper if we compile without thread support
* hide the interior of the zone class and use lambdas (or functors) to visit the members