Add a self-contained, thread-safe crash/error log (common/CrashLog) that
survives process death, plus instrumentation at key lifecycle points so a
crash log reveals the system state that led to it.
- CrashLog.{h,cpp}: append-only eve.log recorder with initSystemLogging,
recordLogEvent, recordCrashEvent (try-lock safe for crash handlers) and
crashLogPath. EVE_LOG_DIR overrides the location.
- CrashHandler.h: unhandled-exception backtrace is now also written to
eve.log, not only stderr.
- main.cpp: open the log before anything can fail.
- Run.cpp: record run start + top-level failures; bind eve.log() so scripts
share the same crash log.
- vulkan/Graphics.cpp: log GPU identity/driver/caps and graphics init
milestones (swapchain/pipelines) - the likeliest hard-crash area.
- load.nut: boot milestones (modules, window+vulkan, game script) and a
periodic frame-count marker to locate how far the loop got.
- test/crashlog.cpp: init/record/crash coverage.