driver: split up etna_pipe

Add separate implementation files for blend, rasterizer, surface,
texture and zsa.
driver: clean up CSO functions

There should be no semantic changes.
driver: check generated instructions

Warn when an instruction is generated that uses two different
uniforms.
driver: further split up etna_pipe.c

Move clearing and blitting functionality to module `clear_blit`.
etnaviv: document hardware counters

Add comment specifying which register is read for which hw counter.
driver: update gallium to 0794f63

After Mesa rebase.