driver: split up etna_pipe a bit

etna_pipe is much too large, split resource handling and
shader state handling off into separate compile units.
driver: use gallium function for translate_vertex_count

u_decomposed_prims_for_vertices in u_prim.h provides exactly the same
functionality.
driver: add basic support PIPE_TRANSFER_READ

At least implement basic support by distinguishing reads from writes.
The more complicated case of supertiled surfaces has to be handled
later.

Auto mipmap generation benefits from this.