Introduce class RelocatablePosition

|RelocatablePosition| is a helper class for keeping track of a |Position| in
a document upon DOM tree changes even if the given |Position|'s original
anchor node is moved out of document. The class is implemented by using a
temporary |Range| object to keep track of the |Position|, and disposing the
|Range| when out of scope.

|RelocatablePosition| will be used in editing code, for example:

https://codereview.chromium.org/2127503002/

BUG=n/a
TEST=webkit_unit_tests --gtest_filter=RelocatablePositionTest.position

Review-Url: https://codereview.chromium.org/2123893002
Cr-Commit-Position: refs/heads/master@{#403878}
4 files changed