Use a better RNG when expanding descriptions for JS

Since JS expansions don't get to set a seed value first, I don't think that this can have compatibility implications. NonJS expansions (and JS expansions which don't use expandDescription() or expandMissionText() continue to use the old form)
[Mac] Add some profiler flags
Fix some comment errors
Fix witchspace entry error for assassins
Adjust start screen to allow for more options than load y/n
Scenario loading screen

(unfinished: scenarios not yet present)
Add the scenarios, fix some bugs

Still some more bugs to fix
Fix some issues with exiting strict mode
Fix some more bugs around strict mode and reloading

Cleanup some in-game menus now strict mode accessed through scenarios
Reword options, add exit option
Make start options selectable with arrow keys
Fix some type mismatches
[Mac] Copy scenario files
Use correct constants for number keys
Sounds for selection, fix enter-persistence bug
Fix lighting problems with -load option, without F7 bug
Mouse support on start screen
Mouse support for New Commander screen
Add starting save file and some initial framework for the tutorial
Clear mouse when entering intro screen