libcommon|GameSession: common::GameSession and de::Game::SavedSession remember visited maps

common::GameSession now tracks all maps visited during the current
session and stores this information in the SavedSession metadata.

If an old saved session is loaded that lacks the visited map info,
any future saved session based on it will also lack this information
as it cannot be reconstructed.
libdoom: Use common::GameSession's visited maps info to draw the intermission

If this information is missing for the current game session a specially
prepared version of this information using the original map progression
assumptions will be used instead, for backward compatible behavior.

As of this commit the intermission is now working as expected for both
newly started game sessions using the new visited maps mechanism and
existing game sessions using the compatibility mechanism.

Todo: Heretic needs similar handling.