Refactor MarkupAccumulator::appendCharactersReplacingEntities()

Refactor MarkupAccumulator::appendCharactersReplacingEntities() to:
- Use templating to avoid code duplication between the 8bit / 16bit cases
- Move EntityDescription struct to MarkupAccumulator.cpp as it is not used
  outside MarkupAccumulator.
- Use CString type for EntityDescription.reference member instead of String as
  we know the references are 8-bit. This avoid an unnecessary is8Bit() check in
  StringBuilder::append(const String&).

R=abarth
BUG=None

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

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