Preserve scroll (bug 868249, 870008)

This is an attempt to maintain the scroll position for the tabs.

There's a noticeable effect the first time the second tab is clicked as the loaded event now happens fairly late when requests.pool is closed.

An alternative approach involves fixing the min-height at the same time as preserving the scroll but I've left this out for now as it seemed a lot less ideal compared to happening via an event.

I've also fixed the back button scroll positioning 870008.

Note: going forwards still needs to be accounted for and that will involve more re-working of navigation to understand when back is back and forwards is forwards when popstate fires.

Tests cover the tabs + basic scroll history case. They won't pass until the updated flue changes land which make the tabs visible by default.