Deferred resource (image) loading patch.
This patch is the first version of adding a generalized deferred resource loading and update facility to Flying Saucer. Currently it targets the most obvious case of background image loading. This will also hopefully lead into handling tasks such as animated gifs. This patch centers around changes to NaiveUserAgent and ImageResource classes.
A thread pools was added to NaiveUserAgent and an event/listener system for distributing load progress events. A map was added to LayoutContext so that URI resources can be associated with a Box. A component that paints can therefore now listen for load progress events from the user agent and query the LayoutContext for boxes to paint/relayout when that particular resource progresses.
Deferred image loading is disabled by default. Enabled by creating a NaiveUserAgent and enable deferred image loading on it.