fix a load of bugs

 - inputs can have multiple parents so multi-events work properly
 - multi-events don't distribute input components correctly
 - reorder 4-component names for sense make
 - remove old, broken assert
 - reset RelAxisInput selectively (takes components)
 - fix interp_simple doc and actually return timeout_id
 - allow passing class to settings manager (not a bug)
 - dump settings on calling save()