Fix device resolution discovery
Bug: DeviceInfo.resolution defaulted to (320, 320) — a legacy assumption from when all devices were 320x320 SCSI LCDs. HID and Bulk devices that needed a handshake to discover their actual resolution were never handshaked because the (0, 0) check was pre-satisfied by the wrong default.
This caused devices like the Assassin Spirit 120 Vision ARGB (PM=36, actual 240x240) to receive 320x320 frames, resulting in no display output.
Fix: All protocols now start at (0, 0) and discover resolution via handshake. No assumptions. GUI, CLI, and resume paths all handshake before using the resolution.