freedreno/ir3: Add float immed "FLUT" support
Seems to be a mixed bag so far, very slightly helping some things and hurting others. I suspect that it is mostly replaces cases where we'd lower a float immed to const, so most of the difference is just how instructions get scheduled, but I've not looked too closely at the shader-db results yet.
This gained a couple turnip patches, the second of which re-arranges the program state to be more similar to the gallium driver (splitting HLSQ config/cntl into it's own state group, preceding the others) to fix a bug that was showing up when suddenly shaders have no immediates lowered to push-const.