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.
Have you tested this widget to make sure it still works? I'd expect that moving the `type=file` from the components to the kind itself would require some other changes to deal with the new location.