Allow building custom tracking functions.
Add trackEditorComponent function.

This function allows tracking components which are used inside and
outside of the editor (such as the Video Embed Tool) by determining
the context of their usage and calling the applicable tracking function.
Fix tracking VET inside and outside the editor.

Also fix some logic around handling MiniEditor focusing in conjunction
with VET so that we can use the 'hasFocus' property to determine if the
user is using VET inside MiniEditor.
Fix tracking for components used inside and outside of the editor.
Merge pull request #646 from Wikia/bugid-100844

(BugId:100844) Distorted tracking data for components used inside and outside of the editor