Tracks actual tick work duration and idle/sleep time separately from
tick rate, via zero-arg begin/end pairs (skele_clock_tick_begin/end,
skele_clock_idle_begin/end) rather than passed timestamps, since the
prior interval-between-calls approach just measured the fixed tick
period, not real processing cost.
Present now dispatches through a function pointer chosen at init and
re-chosen by two new runtime setters: real vsync if requested and the
driver grants it, else a manual sleep-based cap (auto-detects display
refresh rate, falls back to 60fps if that can't be queried), else
fully uncapped. skele_video_using_vsync() reports what was actually
granted; skele_video_set_vsync()/skele_video_set_max_fps() let a game
change either live without tearing down the renderer/GL context.