player::rooted()

Consolidates the rooting code in most places where it's generic; the
reading code remains based on cycle-time.