TemplatableFn: 4-Byte Templatable Storage for Trivially Copyable Types
The TEMPLATABLE_VALUE macro now uses TemplatableFn (4 bytes) instead of TemplatableValue (8 bytes) for trivially copyable types like float, uint32_t, bool, and enums. External components that call macro-generated setters with raw C++ constants instead of going through cg.templatable() will fail to compile.
This is a breaking change for external components in ESPHome 2026.4.0 and later.