message: Add iter_globals and set_global_unchecked to js Store
  Was previously added to the sys Store as well.
  Needed for snapshotting / thread spawning in wasix.
diff: @@ -210,6 +210,8 @@ impl<T: AsStoreMut> AsStoreMut for &'_ mut T {
  pub use objects::*;
  mod objects {
  + use wasm_bindgen::JsValue;
  +
  use crate::js::{
  export::{VMFunction, VMGlobal, VMMemory, VMTable},
  function_env::VMFunctionEnvironment,
  @@ -313,6 +315,21 @@ mod objects {
  (&mut high[0], &mut low[a.index()])
  }
  }
  +
  + /// Return an immutable iterator over all globals
  + pub fn iter_globals(&self) -> core::slice::Iter<VMGlobal> {
  + self.globals.iter()
  + }
  +
  + /// Set a global, at index idx. Will panic if idx is out of range
  + /// Safety: the caller should check taht the raw value is compatible
  + /// with destination VMGlobal type
  + pub fn set_global_unchecked(&self, idx: usize, val: u128) {
  + assert!(idx < self.globals.len());
  +
  + let value = JsValue::from(val);
  + self.globals[idx].global.set_value(&value);
  + }
  }
  /// Handle to an object managed by a context.
  