surface: Add isElementWithClass, isElementOfType. Ul, Ol: Only wrap children if they are not list item elements already