Campaign id in test URL

Given the need to have a campaign id in the test URL (to support multiple campaigns) this commit refactors the way test types are written delegating more actions to the `BaseTestType`.

By using a template and allowing to inject element in the page it'll be possible in the future to inject additional behavior, like script loaders.

Each test type should implement an `attester.start()` method, that is called by attester when the task is ready to be executed.
Test-types are also responsible for loading scripts, the simplest way is to call `attester.includeTest`, this would delegate the loading to whatever script loader is configured.