We should have an accessors pair for the :clip-to-allocation property, to avoid going through the generic GObject accessors.
We can use a container with :clip-to-allocation set to TRUE and a DragAction to create a panning viewport.