Update the URL in browser history when loading new images

By updating the browser URL using the history API (when the user's browser supports it), we can prevent users from experiencing a disconnect between the image shown/title displayed and the URL. As with our other tests, we use Sinon to stub out the native browser API method with a function that will verify it was called correctly.