Explore different virtualization libraries with the API prototyped in #24125.
Using a render function allows a way of consuming items and column items as props, this means that complex baked in features are easier to implement since the top level component has access to the data. However, this might not be compatible with all virtualization libraries. We should investigate a few of the popular libraries.