shell: Demote current pages to a legacy role.

External pages in an iframe are now the modern way to do things and
the old way has been labelled as 'legacy'.
shell, base: Move hash tracking into base.

So that external components can also use it.