Entirely reworked the way GD waits for PageLoad.

Now it should be more reliable, and less prone to errors.
The new code is using a new API that I'm about to introduce in PhantomJS: `page.loading`.

This means that in the meantime you will need my `ghostdriver-dev` branch
of PhantomJS to work with this.

Fix #177
Fix #193
Fix #181