Add accurate comment to the 'equal' function

The comment:
```
// IE requires a+'' instead of just a
```
doesn't exhaustively explain why the `a+''` is required while `a` being a string.
The reason is that it might be a String object, in which case the identity check (`===`) will fail, e.g.:
```
var n = 1
var s = "1";
s === n+""  // true
new String(s) === n+""; // false
new String(s) === s;  // false
new String(s) === new String(s);  // false
```