More search locations for event data

Allow event data to come from a property instead of an attribute
add DOM first function

makes a regular (element instanceof Node) DOM from a NodeList-DOM
by reducing to the first element
support keypress event
Support mouse wheel 'wheel' event
Pass the original dom element to event handlers
Line endings