I think a lot of this (well the first two anyways) depends on how you made your platforming engine. For example, do you use gravity or just vspeed, does the player do actions based on the state it's in, etc. For the third one about the menu, you could have a "global.menuOn" variable and set it to false when the game starts. Then in basically all the game scripts (or event actions) check if it's false before doing anything. In the "Press Esc Button" event or whichever key you have, check global.menuOn. If it's true, set it to false and get rid of any menu objects. If it's false when you check it (else), check for the player states (e.g. !Player.state = "dying" && !Player.state = "gettingHit" if that's how you do your engine). If they're fine, then create all the menu objects or whatever and set global.menuOn to true.
I hope that helps a little :/