Always emit the original datum from vislib events

***Depends on #2170***

When an event is triggered in a visualization, it always comes from a specific element or set of elements. This change always provides the original datum that created that element as `event.datum` .

This allows us to have very generic handlers for tooltips, filtering, etc.

This fixes #2117