Use a uniform export pattern
Documentation pass, part 4 (the rest)
Work around unexpected rectangles from getClientRects in bidi text in FF

Closes #2248