Start to break out svg independent dom event handling logic

- better separation of concerns
- better reuse of logic for other DOM-based renderers