Bug 858969 - Refactor dynamic toolbar so page is offset and not overlapped. r=kats,nrc

Refactor the dynamic toolbar code so that the ownership of various properties
is clearer, and the page is offset by the toolbar instead of being overlapped.
This fixes problems with the scroll origin of the page not corresponding to
the visible origin on the screen.