* Updated runtime gating to enable LilyGO T-Deck specific apps and services
* New device compatibility and model-detection APIs
* Added a buffer-overflow error code and message
* Updated GitHub Actions checkout to v4
* Adjusted an LVGL-related library version
* Device config now emits a T-Deck workaround flag when applicable
* Removed internal developer comments and minor cleanups
- Add kernel support for SPI driver
- Add kernel support for UART driver
- Implemented ESP32 UART kernel driver
- Update existing UART-related code in Tactility to use new kernel driver
- Remove UART from tt::hal::Configuration
- Remove tt_hal_uart functionality but keep functions for now
- Update devicetrees for UART changes
- Kernel mutex and recursive mutex: improved locking API design
- Other kernel improvements
- Added device_exists_of_type() and device_find_by_name()
* **New Features**
* Added a GPIO hardware abstraction layer for reading pin levels from applications.
* Applications can now query the number of available GPIO pins so they can adapt to different devices.
* **Chores**
* Integrations updated so GPIO capabilities are discoverable and exported to running applications.
* **Documentation**
* Added new C coding style guide detailing naming conventions for files, directories, macros, constants, variables, functions, and type definitions with illustrative examples.
* Updated C++ coding style documentation with clarifications on C naming conventions and header directory organization patterns.
* **Refactor**
* Updated header include paths throughout the codebase to use lowercase naming conventions consistently.