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.
Looks like these events are still being relied on by the Flash tech to display the buffer state in the progress bar. We could move these into the Flash tech but I think that might be better handled in a separate patch. Your thoughts?