Add setViewport proxy

Takes an object with width and height (in pixels)
Add missing semicolon
Respond after setViewport
Remove unnecessary parameter from setViewport
Add test for callback invocation
Handle setViewportDone
Fix up package.json devDependencies
Add pngjs for testing rendered png
Test setViewport dimensions by inspecting rendered PNG
handle pageSetViewport response
use the listen callback to ensure server.address() doesn't return null

Otherwise it's a race condition (one that fails each time on my machine).
Merge pull request #68 from davidmarkclements/patch-1

use the listen callback to ensure server.address() doesn't return null
merged changes for setviewport
improved error handling
version now at 0.2.4
added workaround for phantomjs weirdness
Merge remote-tracking branch 'upstream/master'