How To Make A Pause Menu?

How would i go about making a pause menu for my 2D sidescrolling game. I want to be able to push the P key and it opens the pause menu where you can chose to restart or quit game back to the main menu. Which i also need is a main menu when you start the game.

Main menu:

Create an extra scene and use Application.LoadLevel to switch to the next.

Pause menu:

Set the time scale to 0, enable a GUI and do not forget to disable the AudioListener.

(These are suggestions for basic functionality. You may want to search the forum and wiki for advanced tips and scripts.)