Add RenderWidgetBase and update CustomWidget and VulkanWidget to
implement its interface. Refactor MainWindow to use a single
RenderWidgetBase pointer, unify controls and status UI, and remove the
dual-tab setup. Add design and quickstart docs and register the new
header in CMakeLists.txt.
Add m_lastLockFrameCount and m_lockPaintFrameCount, compute frames
painted while the screen was locked and log the values. Show frame
counts in the lock info overlay, record frame count at lock, and reduce
the lock info font size for better layout.
Record lock time, duration and count in CustomWidget and show a
lock-info overlay. setPaintingEnabled now logs lock/unlock times and
increments lock count. Emit screenLocked/screenUnlocked signals in
ScreenLockDetector. Minor UI and whitespace cleanup.