Issue #23853 - Widget refactor to combine XV.Input and XV.InputWidget

Got rid of XV.Input and added functionality to XV.InputWidget. Since a lot of other widgets inherited from XV.Input, had to do some refactoring in a lot of the widgets and css. 

Also fixed the layout problems in the relation widgets resulting from previous css changes.

There is a sister pull in private-extensions.
this inherits from `XV.InputWidget` now. So you should be able to do `this.inherited(arguments)`