Pass a URL as a query parameter to the surveys

We need to be able to display destination URLs in the questions. Here's how it works:
1. The background script gets the destination URL as part of the event
2. Background script sanitizes the URL
3. Background script appends the sanitized URL as a query parameter when opening survey.html
4. The survey driver checks that the URL is sanitized
5. The URL can be used in questions (as part of textContent)

Extensions do not have questions about URLs, so this only applies to the non-extension surveys.
This CL also adds test cases for the sanitization method.
Hmm, looks like ```surveyUrl``` is a predetermined set of values, and ```visitUrl``` is only used to build the string for ```textContent```. So I think you can just wrap both of them (or even just ```visitUrl```, but both is better for consistency) with ```encodeURIComponent``` without passing them through a custom sanitizer. Then you can use ```decodeURIComponent``` in driver.js and pass the built string directly to textContent. textContent will escape stuff like ```<``` and ```>``` so it should be safe to do that (additionally, default extension CSP will prevent any accidents too).

tl;dr: I think a pair of encodeURIComponent and decodeURIComponent is sufficient, should remove the need for the sanitizer.