etnaviv: implement queue system

Add code to allow for queueing kernel commands such as signal,
free video memory, unmap user memory. This will make it possible to
immplement fences, fenced buffers, and push buffers.