3.0 Event: dispatchEvent() wrapper

As discussed here: #4552 

I'm not sure about the test case... I'm open for any suggestions. What actually should be tested here?
I wanted to make `$subject` easier to omit in method calls, as it is a `$this` in most cases, ie:
```php
$this->dispatchEvent('some.event', ['data']);
```

is better than:
```php
$this->dispatchEvent('some.event', null, ['data']);
```
or
```php
$this->dispatchEvent('some.event', $this, ['data']);
```
;)