Abstract interface for line preprocessing callbacks.
Implementations process a single source line after directive handling and macro substitution.
The callback mechanism is primarily used by nested constructs such as #for expansion, allowing generated lines to re-enter the main preprocessing pipeline.