Add MessageView#distanceToScrollState

This class is getting unwieldy again...
Don't fork ids unless we've scrolled significantly

Closes #16.