Formal Semantics and Mechanized Soundness Proof for Fast Gradually Typed JavaScript