Don't create the display tree inside VTTCue's destructor

I noticed this when trying to remove the ChildNodesLazySnapshot. The
VTTCue's destructor called displayTreeInternal() which creates the
display tree if it doesn't already exist. Instead we should check if the display
tree exists before removing it.

I also renamed displayTreeInternal() to ensureDisplayTree() and made it
return a reference to make it clear what it was doing.

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

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