Adds mission objects, mission start announcement.

Now announces which year and city you've traveled to at the start
of a mission.
Fixes callback deregistration bug.

If the OnDismiss callback function registered a new OnDismiss callback
itself, the new registration was getting wiped after the callback
returned. The order of operations is now changed so the registered
callback is wiped *before* it's called.
Adds multiple missions.

Now supports multiple missions loaded from the Resources/missions.json
file. Supports specifying new time limits and row/col dimensions for
grids and number of flags to pick so far. More to come.

Missions now chain into one another and display a final success
message when all have been completed.