Fixes an infinite loop with checkStep

the navigationRequested boolean should be false when the new URL
has only a difference on the hash part with the previous URL, because
in this case we don't have a loadStarted/loadFinished event (at least
with Gecko) and then navigationRequested cannot be turn into false.
The consequence is that checkStep doesn't execute the next step because
of its test on navigationRequested.
Fixes a ReferenceError with Gecko in casper.js
Fixes jshint issues
Refs #482: fixes utils.equals for gecko

Using instanceof is not enough for Gecko.