Calculate capture rect in browser

This allows to:
- Save number of requests to remote Selenium instance: instead of 4 requests per element, now we are sending 1 for all of the elements.
- Perform scrolling to correctly capture out of viewport region in browsers, that can't return `body` screenshot.

/cc @arikon 
No, it [would not](https://github.com/joyent/node/blob/master/lib/path.js#L215-L244)