turnip: rework vertex buffers draw state handling
This exploits a HW optimization for when only the size of a draw state is changed, to make things simpler and more optimal (assuming a well behaved user which doesn't unecessarily call CmdBindVertexBuffers many times)
When this is merged, I will update !5832 (merged) to use the same solution for viewports/scissors, which have the same problem.