Bug 1019441 part 1 - Add SelectionManager in marionette

* Extract those caret manipulating functions in test_touchcaret.py to
  selection.py, and generalize them for manipulating selection.
* Use SelectionManager in test_touchcaret.py.
* Remove unneeded </input> from test_touchcaret.html.
Bug 1019441 part 2 - Add marionette test cases for selection carets

Add marionette test cases for selection carets feature in bug 987718.
Test cases target <input>, <textarea>, editable and non-editable
elements.

Run tests on browser manually:
./mach marionette-test layout/base/tests/marionette/test_seletioncarets.py

Run tests on b2g emulator manually:
./mach marionette-webapi layout/base/tests/marionette/test_seletioncarets.py
Bug 1020261 - Fix touch caret and enable tests on b2g