feat(isolate): guarantee OwnedIsolate layout
uses repr(transparent) to ensure OwnedIsolate is a genuine wrapper.
This just contains a pointer to the isolate, why does it need a repr?
@devsnek In Deno, we do *mut OwnedIsolate as *mut Isolate in some places
@littledivy that's not correct. OwnedIsolate implements deref to Isolate methods, which could then be casted from references to pointers without the type cast.
Oh you are right, we do &mut owned_isolate as *mut Isolate which does derefmut
I made the same assumption as @littledivy did earlier - I didn't notice this was guaranteed in DerefMut.