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.
We've always been setting "type" of the input in the parent widget so line #19 does the same job now.