Fix the /pools/gallery page layout being broken by 8841de68a.
This required refactoring the PostGalleryComponent to take a set of
PostPreviewComponents instead of a set of Posts.
The upshot is that it's technically possible to have adjustable
thumbnail sizes on the pool gallery page now (although this is not yet
exposed in the UI).
Components
Components are used to encapsulate common UI widgets used throughout the site. This includes things like comments, tag lists, post thumbnails, paginators, and other things used repeatedly throughout the site. Components encapsulate a widget's HTML, CSS, and Javascript together so that all the code for a component is in a single place.
This uses the ViewComponent library.
Components are similar in concept to React components.