Bug 1083004 - Create anonymous ruby base container when necessary. r=bz
Bug 1052924 - Rewrite pref isize and min isize computation. r=dbaron

Known regression:
This patch changes AppendTextContainer, and put aside text containers
which contain spanning annotations. This changes makes those text
containers not be reflowed by the current code. It will be fixed in
some later patch.
Bug 1052924 - Use unified enumerators to simplify code. r=dbaron
Bug 1052924 - Treat ruby text containers as inline elements for the purposes of finding a font inflation container so that ruby text gets the same font inflation as its ruby bases. r=dbaron
Bug 1052924 - Add assertion and comments pointing out that ruby base container frames do not have an mBlockRS, but that's OK since they are never the containing block for floats. r=dbaron
Bug 1052924 - Rewrite reflow code. r=dbaron

Important changes:
  * Avoid using GetPrefISize on the ruby texts in
    nsRubyBaseContainerFrame::Reflow, since the size it produces might
    not match the size produced by Reflow.  The old code calls that on
    all the ruby texts to determine how big they are, then reflows all
    the ruby bases, and then reflows all the ruby texts.  The new code
    instead processes one pair at a time, and for each pair reflows the
    ruby texts and then the ruby base.
  * Change the base class of nsRubyTextContainerFrame from nsBlockFrame
    to nsContainerFrame, and stop constructing an nsBlockReflowState for
    its reflow.
  * Move the code for reflowing ruby texts from nsRubyTextContainerFrame
    and to nsRubyBaseContainerFrame.
  * Fix the regression that ruby text containers contain span are not
    reflowed properly. It is the regression introduced in patch 0.

Known regression:
  * This patch drops centering ruby base and annotation in pairs. This
    should be fixed in bug 1055676 (ruby-align).
Bug 1052924 - Resolve some warnings. r=dbaron

Important changes:
  * Change base class of nsRuby{Base,Text}Frame to nsInlineFrame
  * Make ComputeSize of nsRubyFrame and nsRubyBaseContainerFrame behavior like inline frames
Bug 1052924 - Give rbc & rtc correct position. r=dbaron

Important changes:
  * Use line layout to reflow ruby base container
Bug 1052924 - Separate reflow code. r=dbaron
Bug 1052924 - Implement basic line breaking for ruby. r=dbaron

Known problem:
It would cause infinite loop if there is any line break happens inside
ruby base or annotation, or the width of container is not enough for
the widest pair/span. This might be fixed in bug 1098272.
Bug 1084183 - Propagate text decoration to ruby frames. r=dbaron
Bug 1084183 - Test for text-decoration for ruby frames. r=dbaron