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.
Are we talking about the same thing? I mean remove the `this.one('progress', function(){` that listens for the real events incase they do exist, not removing the manual events all together. Flash should never have the real events.