anv/allocator: Add a start_offset to anv_state_pool
This allows a pool's allocations to start somewhere other than the base address. Our first real use of this will be to use a negative offset for the binding table pool to make it so that the offset is baked into the pool and the code in anv_batch_chain.c doesn't have to understand pool offsetting.
The second use-case for this (not needed quite yet) is adding a general state pool which doesn't start at the start of General State Base Address.