osk-widget: Only allow dragging in one direction at a time
Draging the cursor both horizontally AND virtually is useful in some scenarios, but for the most common cases of typing messages or using a terminal it's easy for one to accidentally trigger a vertical keypress while trying to move the cursor horizontally.
Adjust the logic to lock dragging to whichever direction the pointer moves in first.
A potential idea for improving this would be to "unlock" the direction if the finger hasn't moved for some time, this would allow switching directions without having to exit and re-enter the cursor mode.
based on !115 (closed) but can be rebased on main to not block.