panfrost: Try demoting uniforms instead of spilling to TLS
mir_estimate_pressure often underestimates the register pressure,
letting too many registers be used for uniforms, causing RA to fail.
Mitigate this by demoting some uniforms back to explicit loads to free
up work registers if register allocation fails.
The pressure
heuristic in mir_work_heuristic
could probably now be increased somewhat, as promoting too many uniforms isn't such a problem any more.
Uniforms are demoted four at a time to decrease compile time.