Initialize saved game state before starting intro

This fixes an assert failure when loading the intro.
Delay entity destruction when requested in scripts
Fix destroying item stacks when clearing inventory
Delay entity destruction in the `destroy` command
Fix uninitialized byte while loading minimap data
[cppcheck] Remove redundant null check
Fix MiniMap::resetLevels()

This fixes the minimap reveal status not being reset when starting a new
game.
Use temporary face reference
Use clamp
Move Arrow related code to own file
Move scene editing related code
Move physics related code
Cleanup includes
Move MasterCamera global
Change assert for destroyed entities to warning

Otherwise older save files can't be loaded in debug builds. Having these
entities is just harmless bloat and they will no longer be referenced
anyway the next time the level is saved.

We could add code to completely remove them from the save file when
found while loading, but as they don't break anything it's not really
needed.
Merge branch 'master' into particles_batching

* master:
  Change assert for destroyed entities to warning
  Move MasterCamera global
  Cleanup includes
  Move physics related code
  Move scene editing related code
  Move Arrow related code to own file
  Use clamp
  Use temporary face reference
  Fix MiniMap::resetLevels()
  [cppcheck] Remove redundant null check
  Fix uninitialized byte while loading minimap data
  Delay entity destruction in the `destroy` command
  Fix destroying item stacks when clearing inventory
  Delay entity destruction when requested in scripts
  Initialize saved game state before starting intro