Detect VK_ERROR_DEVICE_LOST (-4) in vkAcquireNextImageKHR, vkQueueSubmit
and vkQueuePresentKHR and mark m_deviceLost.
Add handleDeviceLost() and recreateDevice() to stop the render timer,
cleanup and rebuild surface, logical device, swapchain, command objects,
sync objects and VulkanRenderer, then restart rendering on success.
Add DEVICE_LOST_RECOVERY.md with recovery docs and remove the obsolete
REFACTORING_SUMMARY.md
Introduce ScreenLockDetectorBase and move platform logic into
ScreenLockDetectorLinux and ScreenLockDetectorMacOS. Rename mac files to
*_macos, add new base/linux source files, and update CMakeLists to
include them. Convert ScreenLockDetector into a factory/facade that
creates and forwards signals to the platform detector. Add refactoring
docs and a migration guide.
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.