为规范widget的开发，做了一些修改

请正美评估一下：

关于widget，主要就是三部分内容：
1.默认值
2.widget的vmodel
3.模板

为了更好地规范widget的开发，可以这样：

1.widget的构造函数返回vmodel，
2.然后在扫描之前调用widget的buildTemplate获取模板

widget的开发提供三部分内容：
avalon.ui.widget1=function(element,data,vmodels){
    var vmodel = avalon.define(...)
    return vmodel
}

avalon.ui.widget1.defaults = {...]

avalon.ui.widget1.buildTemplate = function(vmodel, element, data, vmodels){
......
}