Using semver for flexible browser version detection

This change is backward incompatible; the old config properties `majorVersion`, `minorVersion` and `revision` were replaced with semver-compliant `browserVersion`.

---
Only last commit is relevant here, based on other branches I was working on.