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.
I did that in most other places that I could (borrowing from the other widget-refactor branch), but I think I can into some formatting issues here so I just left them as fittables.