Extends QUnit.parameterize to take a callback providing the test cases

By providing a callback, the parameters provided to the tests will be created separately for each
test. This allows to provide instances which involve state without running into problems when
manipulating state in one test case but expecting initial state in another one.

NOTE: We should probably make a fork of jQuery.parameterize and import its tests, adjust them
      to properly run in our environment. Also renaming things, like "QUnit.cases" which should
      perhaps better be "QUnit.provide".

This change set also changes some usage of QUnit.parameterize in our tests to use a callback now.

Change-Id: I18247a7a43c39c634745e9e925d846b060772927