aco: implement custom instruction allocator
This basic allocator implements an arena allocation strategy and cannot free individual allocations. All allocated memory must be freed at once.
I've set the pool size to 64kb which fits about 1000 instructions and is a compromise between fast allocation for small shaders and cache locality. This change makes the unique_ptr obsolete.