Bug 905909 - Avoid infinite recursion in nsTreeBodyFrame. v1

--HG--
extra : rebase_source : ed9efcd923249d5c7efebf9185ea431140878efc
Bug 918185. When Range.getBoundingClientRect/getClientRects needs a textframe for a node, create one if the textframe was optimized away. r=bz
Bug 905405. Wrap mLastNativeEventScheduled in a mutex to avoid racing on it. r=bsmedberg
Address review comments for bug 905909. r=dholbert
Bug 740200 - Enable content pref; r=mattwoodrow
Bug 740200 - Removed some white space
Bug 740200 - BorrowedContext support for cairo; r=mattwoodrow
Bug 740200 - Azure content rendering on Linux; r=roc
Bug 740200 - Azure support in nsWindow; r=mattwoodrow