Screenshot on callback

I have a use case where the web page needed to be in charge of when the screenshot is taken. It takes an arbitrary amount of time to complete the task and I don't want to wait for renderDelay if I don't have to and I don't want renderDelay to not be enough time for the task to complete.

When the webpage is ready for the screenshot to be taken it sends a message to phantom using `window.callPhantom('takeShot')`.

Updated documentation and checked tests pass.