ext.navigationTiming: Only load eventlogging when needed
Previously the schema modules (and their eventlogging client dependency)
were unconditionally loaded on all page views. This is an anti-pattern
because most metrics happen on user interaction, not on all page views.
In case of Navigation Timing, the metric is the page load itself,
however we still have sampling, so we should lazy-load here as well.
Fix by removing the dependencies and instead using the standard pattern
of mw.loader.using() and then calling mw.eventLog.logEvent().
As optimization, check inSample() early and preload the required