Reworked the settings menu

The settings menu now has a function to attach all event listeners for
it which is called a single time in the engine. Settings.js then holds
an object gameSettings which is holding all the values that can be
changed through the settings menu and updates them on change.
gameSettings.xxx values are meant to be used by the rest of the game
logic/drawing.