* Basic attempt at rewriting how the options menu works, move accessibility settings into their own tab.
* Audio tab uses the new options system.
* Rewrite Misc tab
* Clean up heading styling
* Rewrite options tab and other minor cleanup all over the place.
* Documentation comments and minor cleanup.
(cherry picked from commit 07fe1a6b5a0724a266e99781f697f423fe2badd5)
* Use new Subs.CVar helper
Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.
This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.
* Fix a bunch of warnings
* More warning fixes
* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.
* Get rid of some more ISerializationHooks for enums
* And a little more
* Apply suggestions from code review
Co-authored-by: 0x6273 <0x40@keemail.me>
---------
Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)