Move all the logic of widget construction from field.__init__() to widget.render().
Merge branch 'refactor-widget'