* Fix circular includes and include cleanup
Fixed a bug where other *.h header files would include extension.h, which itself
was already included in those same headers, creating a circular dependency cycle.
This caused build errors and made compilation unpredictable.
To resolve this:
- Moved implementation-only includes to .cpp files where they are actually needed.
- Added forward declarations where possible to avoid pulling in unnecessary headers.
- Ensured extension.h only contains declarations that require full type definitions.
This improves build stability and compilation time.
* Clean up includes and fix build errors
- Replaced full includes with forward declarations where possible
- Moved implementation-only includes from .h to .cpp files
- Added missing includes for stdint.h and Steam interfaces
- This significantly reduces compilation time and prevents future dependency issues
* Switch to SourceMod SDK smsdk_ext instead of local copy
The original function is called already using `SH_CALL`, so always supercede in the hook afterwards to not call it twice.
The forward definition had an extra unused parameter defined.