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.
It's also expensive to debug. I think we should note this in our coding standards doc.