Use karma runner for test execution

This PR would be used as basis for jQuery Core changes of the same nature.

* These changes still let you run test through `QUnit` testsuite and now through karma too
* If user has defined browserstack variables, browserstack browsers will be used
* Pull request are not run through browserstack, since travis reasonably do not allow env vars for forks, phantomjs and "recent version of Firefox" (which is currently 19) will be used instead

/cc @Krinkle