Fix O(N^2) cascading by replacing insertion into one large |nsISupportsArray| with appending into a hashtable (hashed by weight) of |nsISupportsArray| and then combining those arrays into the larger array. b=77066 r=attinasi@netscape.com sr=waterson@netscape.com Reduce construction of |SelectorMatchesData| by retaining (so they can be used for matching other selectors) any new ones constructed in |SelectorMatchesTree| until the one originally passed to |SelectorMatchesTree| is destroyed. b=77090 r=attinasi@netscape.com sr=waterson@netscape.com git-svn-id: svn://10.0.0.236/trunk@93351 18797224-902f-48f8-a5cc-f745e15eee43