[WIP] Extracting Event logic into Tickit\Component

TODO:
- [x] Fix the mocking for `AbstractEntityEventDispatcherTest`
- [x] Decide on a namespacing strategy for component specific events (will keep these in their respective components)
- [ ] Refactor entity related events to `Tickit\Component\Entity\Event`

Coverage will decrease slightly on this PR, because the entity event dispatchers have been consolidated to a single abstract dispatcher class