Screenshotting support

I have added API for creating screenshots and for changing the viewpoint resolution.  The API from Mocha to PhantomJS is achieved using specific console.log's that PhantomJS listens to.  I have tested this and working well.
@robcolburn we've done both using what's in this PR.  What we've done is to create a global function `screenshot(container)` where `container` is the HTML DOM element that we want to take a screenshot of.  The filename is calculated through using a folder specified in the Mocha `setup.js` file and the container's `id`.  I thought it was best to offer the users the flexibility of coming up with what works best for them, through offering a very simple API to write a function for (copied from `README.md`):

To take a screenshot:
```js
var container = $('article')[0]; // or any DOM node
console.log(JSON.stringify({
  action: 'render', // mandatory
  filename: 'screenshots/article.png', // mandatory
  clipRect: container.getBoundingClientRect() // optional
}));
```

The user can of course replace the `'screenshots/article.png'` there with, for example `opts.screenshotFolder + new Date() + 'png'`.