Per ADR-0037 Tests-as-Libs Convention. Renamed on Gitea +
moved locally to lib-sporel/launcher-test. fsm.lua and dofile
pattern preserved; Pre-S15 drift-check still applies.
Sporel resolver does NOT resolve module-as-dep (only lib-deps). Test-module
ships its own byte-identical copy of fsm.lua and loads it via dir_of(self).
Drift prevention deferred to Smoke diff-check (next slice).
Also dropped runtime-behavior measure_text assertion (needs Raylib font, not
loaded in headless test-mode). Existence-check (assertion 10) is sufficient.
11 assertions: 5 FSM transitions + 1 FSM stability + 5 Engine-Surface existence.