Widget: re-arrange _createWidget to ensure widget properties are set

This makes sure this.document, this.window, this.focusable, this.hoverable
and this.bindings() are all defined in _getCreateOptions