Bug 995664 - Move CSSRuleList to WebIDL; r=bz

As CSSRuleList is the last consumer of nsArraySH and nsGenericArraySH, this
also removes those classes.
Bug 1004202 - Stop calling PrepareToStartLoad in nsDocumentViewer::LoadStart; r=smaug

Before bug 968805, none of the callers would reach this branch. The callers in
nsContentDLF.cpp call LoadStart immediately after constructing the
nsDocumentViewer, so they hit the !mDocument case, and the comparison was
always false for the caller in nsHTMLDocument::Open, as it passed an
nsIHTMLDocument pointer, so the nsISupports pointers being compared were
always different. (XPCOM rules require SameCOMIdentity in this case, to avoid
exactly this issue.)

I tested that the removed code was never reached after a backout of bug 968805.