CT-6555: Refactored Widget module to handle 'message' events

- Dispatch module now only handles widget-independent events like 'navigate' and 'modal'
- Each widget instance is now responsible for listening on other widget events via #attachListeners()