driver: prevent reuse of fence if still to be signalled

This avoids fences that are signalled prematurely because
they are still in the queue while being reused.
rnndb: add I2F instruction (gc2000)
driver: refuse PIPE_TRANSFER_MAP_DIRECTLY if not possible

and add some comments
driver: move transfer-related code to etna_transfer

Start splitting etna_driver into more managable parts.
driver: optimize shader linking

Use two-level lookup table instead of binary search to match PS
inputs to VS outputs.