Abstract class used by the data grid to create model objects used for state
management and rendering. This abstraction exists in order to allow the data grid's
implementation to be configurable. Various data grid implementation classes are exposed
here including sorting, filtering, and paging. In addition, classes such as the
PagerRenderer and StyleModel are created by subclasses in order to provide
a data grid specific implementation of pager UI or style support.
By default, DataGridConfig implementations are not thread safe, but custom implementations are
free to store instance state as long as the DataGridConfig object lifetimes are managed
in user code.
A specific DataGridConfig object can be created and passed to a data grid via the