feat: SDL2 → SDL3 migration + GPU-accelerated effects + display/GPU info reporting
Switch from SDL2 (via sdl2-compat shim) to SDL3 directly for the optional
GPU display backend. All SDL2 API calls migrated to SDL3 equivalents.
GPU-accelerated paths added for blur (downscale+bilinear upscale), zoom
(scaled texture src rect), and spin (SDL_RenderTextureRotated) with
automatic CPU fallback when SDL3 is unavailable.
Display driver name ("sdl3:opengl", "drm", "fbdev", "wayland") and GPU
hardware info now reported in boot animation, JS bindings (system.hw),
machine.mjs local dashboard, machines.mjs remote dashboard, and session
server heartbeat.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>