Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented.

When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."

This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.

This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.
Rename gfx/render_task.rs -> gfx/paint_task.rs
Rename RenderTask -> PaintTask.
Rename canvas_render_task -> canvas_paint_task
Rename CanvasRenderTask -> CanvasPaintTask.
Rename RenderContext -> PaintContext
Rename RenderLayer -> PaintLayer
Rename RenderRequest -> PaintRequest
Rename RenderChan -> PaintChan
Rename gfx::paint_task::Msg
Rename compositor_task::Msg.
Rename RenderListener -> PaintListener, and its methods.
Rename RenderState -> PaintState
Rename IOCompositor's members.
Rename WindowMethods::set_paint_state()
Fix README.md: a tile size is used for 'painting'.
Rename RendererReadyMsg -> PainterReadyMsg
Rename RenderFontCacheEntry -> PaintFontCacheEntry.
Rename TaskState::RENDER -> TaskState::PAINT
Replace almost "render" to "paint" words in gfx crate.