Move the webvtt tests out of subdirectories.

It's easier to keep track of things if they're all in one place.
Remove webvtt test subdir from moz.build as well.
Bug 833385 - Hide TextTrack interfaces behind a preference.

Add a media.webvtt.enabled preference, defaulting to false.

Use the [Pref] webidl decorator to conditionalize the interfaces.

Check the pref in WebVTTLoadListener::LoadResource.

Check the pref in NS_NewHTMLTrackElement and return an
HTMLUnknownElement instead if it's disabled. This prevents
any of the attribute implementations from being called.
Use absolute instead of relative urls for reflect.js.

This also fixes the reference to reflect.js which was broken
when I moved the files up a level without shortening the
relative urls.
Added caitp's changed for bug 853879.

Changed qualifiedName to no longer be a pointer. It was being used
incorrectly and it being a pointer is uneccessary.
855100 - Initialize HTMLTrackElement::mTrack in the constructor.

Add a new default TextTrack constructor and use it to initialize
the HTMLTrackElement's mTrack member.

Previously the constructor just set it to null, but the bindings
don't handle that case, and we would segfault accessing the
'track' property on a track element created outside the parser:

  document.createElement('track').track;

The initial element is created disabled, since it has nothing to
play. Thanks to Marcus Saad for help with the patch.
Bug 855100 - Lazily initialize HTMLTrackElement::mTrack.

Avoid the dummy allocation in the HTML parser case by
initializing mTrack with an empty TextTrack object only
in the getter. Thanks to David Humphrey for the suggestion.