Original commits:
* Clean-up
* Introduce a new application arguments parser & handler
* Clean-up and deprecate `Tools#getLanguageOption`
* Fix `-debug` and `-debugall` parameters
* found this while debugging, ...why
* Remove deprecated parameters
* Invoke startup argument parser before handbook generation
* Move command map instantiation to `Grasscutter `(prevent making 3 instances on startup)
* Ensure \n at EOF
Co-authored-by: AnimeGitB <AnimeGitB@bigblueball.in>
* Make sure we never access PlayerOpenStateManager::map directly.
* Read OpenStates from excels.
* Add defaultState
* Replace hardcoded open states with the ones read from excels.
* Don't send change notify when unlocking on login.
* Add open state blacklist for default unlocks.
* Add a way to temporarily set open states for dev
* Remove old OpenState.java
* Fix UnlockAllCommand
* Change condType to an enum.
* Auto generate mapping files with command `java -jar grasscutter.jar -gachamap`
* Static file provider
* For gacha record webpage
* All static files should be stored at `GRASSCUTTER_RESOURCE/gcstatic/`
* Can benefit other subsystem in future when webpages involved