Adding backgroundColor to WebCompositionUnderline and using it for InlineTextBox drawing.

This CL enables custom background color to be specified for IME composition.
Its Chrome counterpart is: https://codereview.chromium.org/313053007 .  Details:

- Adding backgroundColor to the following:
    WebCore::CompositionUnderline
    blink::WebCompositionUnderline
  for backward compabitility, we keep an old constructor, which will be deleted
  in another refactoring CL. Updated some tests to use the new constructor.
- Refactored (now) repetative code to loop over WebCompositionUnderline  that
  intersect with a range by adding class CompositionUnderlineVisitor.
- Perhaps WebCompositionUnderline should be renamed to WebCompositionSpan,
  but this refactoring task can be done in a separate CL.

We will need to split this CL when we commit.

BUG=135900

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

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