v3dv: don't lower uadd_carry and usub_borrow
We can produce slightly better code for these in the backend, so do that. For this we need to:
- Fix our implementation of uadd_carry (which wasn't used) to return an integer instead of a boolean value.
- Add an implementation of usub_borrow.
Notice these are only used in Vulkan. In GL these instructions are always unconditionally lowered by the state tracker in GLSL IR so we never get to see them in the backend.