KNighter: Transforming Static Analysis with LLM-Synthesized Checkers