First round of reorganization
Remove seed argument from main Sizzle function
Rewrite makeArray to be a simple looping function at all times. Slice is not actually faster
Rework testing to use a common assert function
Remove matchesSelector
Remove dirNodeCheck; add contains fallback; add uniqueSort shortcut
Update character encoding to a more widespread css3 compliant ascii encoding; Some minor adjustments
Localize match and leftMatch into matchExpr and leftMatchExpr; Group all regex building in one place; ensure getElementById is called on a document
From mathias, Add U+000C FORM FEED as a space character as per the HTML spec

http://whatwg.org/html/common-microsyntaxes.html#space-character
Check document focus and type/href attributes when determining :focus. Fixes #10809. Add support for the :active pseudo selector.
Add QSA tests. If QSA is buggy on certain selectors, use a regex to predict and skip QSA. Remove outdated Safari 3.2 QSA test. Fix TAG regex to include '*' on matches.
Adjust the Sizzle tests to be completely independent from jQuery. jQuery is only used for DOM manipulation in sizzle/test/unit/selector.js.
Make sure rbuggyQSA is converted regardless of thrown errors during QSA tests.
Adjust XML tests to work independently of jQuery.
Hidden input types are still considered enabled in css3. Fixes #10148.
Update jQuery in Sizzle's test suite.
Move length test to jQuery's selector tests (related to jQuery.merge)
Fix naming of Sizzle.contains.
Fix code path for finding an element by ID when the context is not a document.
Minor clean-up for dirCheck.