intel: allocate a separate surface state bo

Add INTEL_CMD_WRITER_SURFACE to intel_cmd, and write BINDING_TABLE_STATEs and
SURFACE_STATEs to the new writer.  Fix cmd_batch_state_base_address() up for
the separation.
diff --git a/icd/intel/cmd.h b/icd/intel/cmd.h
index a1a076d..dcb1965 100644
--- a/icd/intel/cmd.h
+++ b/icd/intel/cmd.h
@@ -122,6 +122,7 @@
 
 enum intel_cmd_writer_type {
     INTEL_CMD_WRITER_BATCH,
+    INTEL_CMD_WRITER_SURFACE,
     INTEL_CMD_WRITER_STATE,
     INTEL_CMD_WRITER_INSTRUCTION,