Add SwipeAltView, a swipeable alternate view

This is an AlternateView that supports touch events to allow swiping
left and right between alternatives.

NB: It currently renders ALL of the alternative views at once. It could
be made more sophisticated, to only render the neighbours, for example,
if necessary.