Case patch

This fixes the last open issue #3 in a way I think is satisfactory to most: every combination of lower- and uppercase characters can now be used.

More code than I originally planned but I did not want to forego support for IE8 by using array manipulations such as `map` and `forEach`. ([Getting mixed-case strings using `map`.](https://gist.github.com/Zegnat/8181101/11d361dc7b255c94b13a3aadf537563d784a7b04))

Additional changes:
* Normalised whitespace (2 space indents)
* Strict mode (`use strict`)
* JSLint compatible with the directive: `/*jslint browser: true, plusplus: true, indent: 2 */`.

After nearly 3 years, @mathiasbynens will finally be able to use `qUeweRy`.