Simplify the oauth completion logic by using information held on the channel

* If the channel has `completeOAuthNoInteraction` set to true, complete the oauth completion without user interaction.
* Create a channel as soon as service-mixin is initialized to simplify logic.
* in service-mixin.js, extract `_getServiceName`, it made context more complex than it needed to be.
* in service-mixin.js, Do NOT submit the form from context because context is called for each translation and could cause multiple submissions. Instead call submit from afterRender.
File/Module renaming.

* fx-desktop.js -> fx_desktop.js
* custom_events.js -> fx_web.js
Formatting.