test for bug 920987

--HG--
extra : rebase_source : 0e049c2e25f60bfff2dd45869a770ed9055c9de2
b=921675 use maximum instead of current delay for tail time because delay can increase faster than time passes r=ehsan

--HG--
extra : rebase_source : b74864829e5fa0cdfbd555d93d2c71dd656f2258
b=910174 add DelayNode's tail-time reference as soon as the engine receives sound r=ehsan

This removes the dependence on AllInputsFinished() which didn't return true
for many input types.

The DelayProcessor is no longer continuously reset (bug 921457) and the
reference is now correctly added again when all inputs are finished and then
new inputs are connected.

--HG--
extra : rebase_source : b85c62305a6fcfce57bd40a11edaeaaf2a63c188
Bug 921876 - Stop #including nsIFrame.h in nsLayoutUtils.h; r=roc

This patch does the following:
* Move nsIFrame::IntrinsicSize to mozilla::IntrinsicSize so that it can
  be forward-declared.
* Move a number of templated inline nsLayoutUtils methods to nsIFrame.
* Use mozilla::layout::FrameChildListID instead of the
  nsIFrame::ChildListID typedef in nsLayoutUtils.h.
* Move nsReflowFrameRunnable to its only user, nsProgressMeterFrame.cpp.
* Make a number of functions requiring nsIFrame.h out-of-line.
* Remove the nsIFrame.h #include from nsLayoutUtils.h and add it to the
  places which require it implicitly.
Bug 912534. r=nbp