Bug 1016184 part 3b - Revise touch caret visibility logic

* Refactor touch caret's update visibility and position functions.
* Update touch caret in PresShell::DidDoReflow() and
  PresShell::UnsuppressAndInvalidate().
Bug 1016184 part 3c - Fix test_focus_disabled.html

Move the witness down so that touch caret won't cover other elements
when witness is focused().
Bug 1016184 part 3d - Fix test_bug644768.html

Rename test_bug644768.html to bug644768.html, and change the original
test_bug644768.html to an iframe container.

Thanks Steven Lee <slee@mozilla.com> for the original WIP patch.
Bug 1016184 part 3e - Fix test_reftests_with_caret.html

Turn off the touch caret preference to fix test cases that ought to be
failed by definition of the touch caret behavior.

Thanks Steven Lee <slee@mozilla.com> for the original WIP patch.
Bug 1016184 part 3f - Enlarge expiration time in mochitest and reftest
Bug 1016184 part 4 - Enable touch caret by default on b2g
Bug 1016184 - Turn on touch caret debug log