The native.yaml and lvgl.yaml fixtures are each compiled twice; once by
the codegen assertions in test_init.py and once by the metadata
assertions in test_display_metadata.py. Add a session scoped cache so
each fixture is generated once, with the resulting main.cpp text and a
snapshot of the display metadata reused across tests. CI hits the
duplicated tests in well under 10ms instead of paying the full
generation cost a second time.