new API calls helping users program dynamic slide content themselves

This adds the following API calls:

`slideshow.pause()` - disables remark's interactions (allowing user to program custom event handlers for keyboard events, etc...)
`slideshow.resume()` - re-enables remarks default interaction event handlers

and provides four new events that users can monitor for:

`beforeShowSlide`, `afterShowSlide`, `beforeHideSlide`, `afterHideSlide`

This can be accessed like this:

      var slideshow = remark.create();
      slideshow.on("afterShowSlide", function(slide) {
           var slideName = slide.properties.name;
           console.log("do something cool to slide ", slideName);
      }