Make `RegExp.prototype.flags` more spec-compliant

Note that this still isn’t fully spec-compliant, since it shouldn’t be configurable.
> The spec doesn't say that this method is intentionally generic,

The spec not explicitly stating that everywhere doesn’t mean it’s not true in this case. Those sentences are non-normative notes that simply clarify what the algorithm already says anyway.

> I'm not convinced it should follow these steps

Yet you are convinced calling `String(this)` is a sensible thing to do, even though the spec clearly lists a different algorithm? `RegExp.prototype.flags.call({ toString: function() { console.log('whoops'); } });`

Trying hard to understand what you’re getting at here, but failing. Can you elaborate?