fix($sniffer): force $sniffer.history to be false when inside ff addon

`history.pushState` and `history.replaceState` seem broken when
executed in scope of firefox's addon contentscript. This causes angular
to behave unpredictably as described in issue #7241. This commit
adds extra check for presence of `XPCNativeWrapper` object and makes
`$sniffer.history` depend on it too.

Closes #7241