Move manual events into tech controller

Migrate the timers that manage creating timeupdate and progress events when the tech doesn't support them natively. Now, techs that extend MediaTechController will continue to automatically pick up synthetic playback and buffering events but they're scoped much more closely to the entity that needs them. In addition, time and progress tracking have been moved much earlier into the component initialization which fixes #1414.

I can rebase this PR off of stable if it should be part of a patch release.
Unless you think otherwise, let's kill this native event listener. It was needed when certain browsers didn't support these events, e.g. firefox 3.5 or Safari 3. As far as I know even devices are consistent with these events now.

If we do that we also need to set those features to true on the html5 video tech, so that these are never turned on.