The TableWidget is a generic widget for editing data that is in a tabular format. It is currently implemented in the Graph extension, because it was introduced for editing <graph> nodes in visual editor.
It would be helpful to be able to make use of TableWidget for any tabular data, e.g. for editing JsonConfig's .tab pages. Therefore, make TableWidget a core widget.
This entails moving TableWidget, RowWidget and their respective model classes to core. Although put in the ve namespace, they don't really depend on visual editor, just on OOUI. Not much should need to change, beyond some renaming and small things like calling mw.msg instead of ve.msg. We'll also need to update Graph.