Framework for intro and ending worlds.

- These separate worlds are handled in RoomContainerExtra. Copy-pasted
from RoomContainer, but it was better to have this in its own class for
legibility.