Implements Composition interface for IME API

Spec: http://www.w3.org/TR/ime-api/#composition-interface
This interface represents an ongoing IME composition. It provides attributes
representing the text being composed by an IME and its associated information.

The interface IDL is already committed at r155072.

The original CL was submitted as r157593 but reverted at
r157811, as it had a reference counting issue that may
lead to a crash (use-after-free).

This fixes the issue as suggested in the code review
https://codereview.chromium.org/23872024/
to use its own ref counting rather than using RefCounted<T>.

BUG=238585
TEST=layouttest fast/ime

Review URL: https://codereview.chromium.org/25208002

git-svn-id: svn://svn.chromium.org/blink/trunk@158635 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Move HTMLDimension test closer to its implementation files.

- Move it to html/ directory.
- Rename to HTMLDimensionTest.cpp.

BUG=None
TEST=None, no functional change.
R=abarth@chromium.org

Review URL: https://codereview.chromium.org/25437002

git-svn-id: svn://svn.chromium.org/blink/trunk@158636 bbb929c8-8fbe-4397-9dbb-9b2b20218538