abstract input value extraction, and add AutoForm.inputValueHandlers to support defining override functions for value extraction
move events to a separate file