ilo: add a builder for building BOs for submission

Comparing to how we manage batch and instruction buffers now, the new builder

 - can manage STATE_BASE_ADDRESS
 - can upload kernels using unsynchronized mapping
 - does not flush
 - provides many helpers
ilo: make ilo_cp based on ilo_builder

This is the first step.  Eventually, We want ilo_builder in ilo_context.