Browser detection by operating system

Close #38.
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`.

Close #40.