feat: don't wait for all browsers and start executing immediately

Once a browser gets captured, Karma immediately starts test execution in that browser. Also, immediately after a browser is finished, Karma kills this browser.

This should allow us to use SauceLabs/BrowserStack browsers much more efficiently.

This only affects `--single-run` mode. Without `--single-run` mode, Karma still waits for all browsers to get captured and then execute.

Closes #57
fix(reporter): print browser stats immediately after it finishes
refactor: get rid off browser.launchId, use id instead

browser.launchId was the id of the browser (generated by launcher) and browser.id was the id of the
socket. We don't care about the socket id anymore, as since cbe2851baa55312f00be420e0345283b33326266
a single browser can change its socket id.

Also, we should generate id for manually started browsers too (to enable reconnecting for them).

This basically reverts be98bce672f818ae4a994cfede5eb8e7116b3351.
chore: use updated plugins (v0.11)
fix: support reconnecting for manually captured browsers

Add "launchdId" (id) to manually captured browsers.

This also changes the browser id to be a string rather than a number.
style: make jshint happy
refactor(browser): encapsulate state changingr
refactor(browser): emit browser_start with total specs count