Move scrolling out of TextComponent and into a generic
ScrollableContainer.