general: Type configuration changes
This commit does the following:
- Adds a gi-types submodules that tracks repository with generated type definitions
- Adds a manually written gettext type definition file, allowing us to properly check the types for the provided functions
- Removes the old generated types from types/
- Adds ambient types to tsconfig.json, allowing us to remove our tripple slash reference.