Question: I'm wondering how a modern browser handles scrolling of a displayed page.

Is the whole page re-rendered after every scroll step, or is there an internal bitmap or possibly even GPU accelerated buffer that is just moved around?

There is a lot of talk about GPU acceleration these days, but what exactly is accelerated: The paiting process of the actual content (images, text, lines...), the compositing of the various elements on the page, or both?

Answer: 
Doesn't need to be a particularly modern browser. Windows (the OS) has supported scroll support for quite a while, for all applications. Windows keeps track which part of a window are "valid" and which are "invalid", and asks the program to redraw invalid parts. After scrolling, only a thin edge is invalid and needs redrawing. 

(Current versions of Windows use a function called [`ScrollWindowEx`](http://msdn.microsoft.com/en-gb/library/windows/desktop/bb787593%28v=vs.85%29.aspx "ScrollWindowEx function") for this)
The following links can give some insights.

<https://wiki.mozilla.org/Firefox/Features/windows-scrolling>

<https://wiki.mozilla.org/Firefox/Projects/AcceleratedScrolling>

<https://wiki.mozilla.org/Gecko:Mouse_Wheel_Scrolling>