Introduce PointPanel et. al.

Continuing with the modularization to fix #484, here I introduce
PointPanel, which necessitated the creation of several other classes.