fixed map

- map is now displayed correctly
- camera is adjusted
- created ProgramState as TVar for concurrent reading/writing