Bug 1059165 Part 2 - Make HasNonEmptyTextContent() descend recursively. r=ehsan

This will be used in part 3.
Bug 1059165 Part 3 - Do not show touch caret when content is empty. r=ehsan

We want HasNonEmptyTextContent() to descend recursively into editingHost
since <div contenteditable="true"><span>123</span></div> should be
considered as non-empty.
Bug 1059165 Part 4 - Add test_touchcaret_visibility.html. r=ehsan
Bug 1059165 Part 5 - Fix existing test failures. r=ehsan

These tests all involving focusing on an empty element. Touch caret will
not show under the new touch caret UI spec. Therefore, I fix them by
disabling touch caret when running those tests.