Initial Options Menu work.
Adding sound/music options to Options Menu

Added two checkboxes to the options menu for music and sound, and
hooked them up to the current Settings.

Made Settings into a non-static class so that multiple instances of
Settings could be created (for caching old Settings to allow for
Revert/Cancel behaviour in the options menu in the future).

Currently, the checkboxes don't render their icons correctly and are
thus represented by simple red/green boxes. A future fix will add
proper checkbox rendering in the options menu.
Adding ability to revert changes in settings menu, initial resolution change support

Settings now holds a snapshot, which is meant to represent the way the
Settings looked at the point of loading/saving (i.e. how it looks "on
disk"). This allows us to revert changes made in the settings menus by
the user if they aren't happy with the changes made.

Also started making some separations around video settings so that
resolution/fullscreen mode changes are properly reflected with a window
change. Unfortunately, SDL 1.2 destroys the OpenGL context associated
with the window whenever the screen is disposed, so all the textures go
away. As a result, this change doesn't actually allow users to alter
the resolution or window mode on the fly. This work will have to be
completed after the move to SDL2.
Game now correctly responds to resolution changes

The TileEngine and the Rocket contexts driving the game's GUI now
appropriately resize in the event of a resolution change. The
TileEngine changes size on activation (after popping a Game State that
potentially altered settings), and all Rocket Contexts are now tracked
in a registry, allowing the Graphics library to resize all active
contexts on any resolution change.

Until the move to SDL2, resolution change will still cause textures
(and everything else in the OpenGL context) to be destroyed. However,
once this move is completed and resolution change is enabled, these
changes will make updates to video settings more seamless.
Merging options menu changes into master

[Finishes #50939287]

Merging options menu changes into the main branch. Also fixing an issue
caused by the merge between the camera slide work and the options menu
work. Specifically, recalculation of the map offset now needs to check
initially if a map is defined, since it is called on activation and the
TileEngine may not have a map up every time that it is activated.

As well, when a player enters a new area, the camera now snaps to the
player immediately by default.