fix caching of styles

If you choose to go with option 2 that I listed in #32, this is the PR.
@jbnicolai it is actually only when used with the `new` keywords. Using `String` as a function returns a literal strings, not a String object.

```js
String("") === new String("") // false
String("") === "" // true
```