Define the new page callback for interrupting a long-running JavaScript

Issues:
https://github.com/ariya/phantomjs/issues/11198
https://github.com/ariya/phantomjs/issues/11183
https://github.com/ariya/phantomjs/issues/11189
Merge branch 'master' of https://github.com/ariya/phantomjs