fix bug in DOM.extend that didn't init an extension in some cases
add :visible hook into matches
toggle accepts the same arguments as show/hide
once works properly with late binding
hide, show, toggle accept callbacks for an animation/transition