v3dv: improve dirty uniform state tracking
This improves a few things:
- Uses the set layout stages to track more precisely the stages affected by a dirty descriptor
- Ditto for push constants
- A dirty viewport does not affect uniform state for fragment shaders.
These changes allow the UE4 Vehicle sample skip up to ~120 uniform stream updates per frame.