events: check, if `_events` is an own property

Rework of #7158. Differences:
 - instead of extending existing `_events`, just check if they are an own property;
 - no performance impact in general case.

In case `_events` exists instead of `!this.hasOwnProperty('_events')` `this._events === this.__proto__._events` is used, which is slightly faster.