RenderTreeBuilder => RenderTreeBuilderForElement and RenderTreeBuilderForText

Previously RenderTreeBuilder::createRendererForTextIfNeeded()
and RenderTreeBuilder::createRendererForElementIfNeeded() are called
from Element and Text, respectively.

This refactoring separates logics needed for creating renderer
for Element and for Text, reducing isElement and isText checks.

More importantly, this refactoring exposes 
RenderTreeBuilderForText::createRenderer()
so that we can test Text::textRendererIsNeeded() only once when
we reattach whitespace siblings
(for https://codereview.chromium.org/684633006/).

BUG=482997

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

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