* Refactored Allow All Weapons In Vehicle to force all vehicles to use all GROUPs.
* Refactored project to not depend on src/gta files that already exist in the GTA-V-Classes project.
* feat(cmake): bump GTAV-Classes
* Fixed#1690.
* Added Hold For Boost to Boost Behavior.
* Added Teleport into Personal Vehicle and Toggle Vehicle Fly Mode as hotkeys.
* Fixed pvtp command not working if you were inside a building.
* fix(script-mgr / lua): first kill all scripts, then unload lua modules: because the lua scripts depend on lua state (which is stored inside lua module instance), killing the lua module first would not allow proper cleaning because of the lua state getting destroyed while the lua script might still be running.
* fix(unloading): Why even reset the fiber pool here?
* fix(lua): don't allow for io / os lua lib to be accessed for security reasons.
* fix(lua): Potential fix for C stack overflow error by using lua coroutine yielding instead of calling fiber yield directly from lua functions.
* feat(unloading): allow to unload in the main title screen. Also revert 309c374602 due to fiber pool being potentially exhausted, we want commands to have their cleanup code ran in priority.
* feat(vscode): added launch.json to dbg
* feat(file_manager): Make use of a global instance
* feat(file_manager): Allow for file and folder instances to be empty
* refactor(GlobalsService): Update code of global service (untested)
* Refactored weapons.bin into weapons.json for extensibility and human readability.
Added weapon attachments scraping from the meta files (currently is missing a lot of attachments, more than half, requires RPF reading refactoring to fix.)
Added Ammunation to Self -> Weapons, because it's vital you protect yourself, the patriotic way.
* Fixed weapons.xml not properly populating all the components.
Refactored buttons to use components::button.
* Refactored the Attachments code to implicitly trust that the attachments will be there now.
Added proper versioning to the weapons.json file.
Removed debug logging from gta_data_service.cpp.
* Fixed Ammunation buttons.
Added loading message for the new weapons.json system.
Fixed a bug where two components shared the same name, the user could not select the 2nd component.
Fixed Attachments displaying an attachment from a previous weapon if the user changed weapons.
* Fixed Tint Apply button not using the components::button template.
* lua api: add globals.get_uint and globals.set_uint
* lua doc: remove duplicate function check as we can overload so it doesn't make sense
* lua doc gen: add support for parsing the tabs enum
* gui: custom lua tabs don't have a `func` rendering function but can still have elements to draw
* lua doc: update generated doc
* chore: code style
* chore: minor spelling mistake
* chore: code style
* gui_service: add runtime removal of tabs
* refactor: make it so that it's less likely defining tabs and their translation key in a wrong way.
* lua api: ability to add custom tabs to the gui from lua
* lua manager: pass down the scripts folder to the instance instead of hard coding calls to the file manager everywhere
* lua: add open lua scripts folder button
* lua api: change script binding so that user cannot by mistake try to sleep or yield in a non script context