Adding an executable environment and plumbing through processor info.
This adds an iree_hal_executable_environment_*_t struct to wrap up
the existing import table, a new processor info struct, and a new
reserved spot for specialization constants.
diff --git a/experimental/web/sample_static/device_sync.c b/experimental/web/sample_static/device_sync.c
index 82e291d..082c730 100644
--- a/experimental/web/sample_static/device_sync.c
+++ b/experimental/web/sample_static/device_sync.c
@@ -13,13 +13,10 @@
   iree_hal_sync_device_params_t params;
   iree_hal_sync_device_params_initialize(&params);
 
-  // Load the statically embedded library.
-  const iree_hal_executable_library_header_t** static_library =
-      mnist_linked_llvm_library_query(
-          IREE_HAL_EXECUTABLE_LIBRARY_LATEST_VERSION,
-          /*reserved=*/NULL);
-  const iree_hal_executable_library_header_t** libraries[1] = {static_library};
-
+  // Register the statically linked executable library.
+  const iree_hal_executable_library_query_fn_t* libraries[] = {
+      mnist_linked_llvm_library_query,
+  };
   iree_hal_executable_loader_t* library_loader = NULL;
   iree_status_t status = iree_hal_static_library_loader_create(
       IREE_ARRAYSIZE(libraries), libraries,