The PageParser class builds Block hierarchies from a stream
The first step in loading a page is to create an empty Block
hierarchy, and return this to the caller.
This can be added to a set of pages, and ViewPanel objects
can be created which display the (empty) Block hierarchy.
Later, the caller asks that the page actually be loaded.
If any ViewPanels displaying
the hierarchy have been created, then the loading process will
generate repaint requests and the block hierarchy will be
displayed as it is being loaded.