Fix extend bug may be pollute global variable $.formUtils.LANG

A extend misuse can pollute  global variable $.formUtils.LANG
Add custom event support because many components need it. Like datatimepicker, When you select the date in the menu , it will trigger blur event but you not finish to change time in this time and timepicker will trigger "changeDate" event after finish up.