Cleanup preparatory to mixin implementation

* Move banner rendering out of SpecialBannerLoader, standardize on IContextSource.
* Introduce namespaced equivalents for bannerController.js global functions.
* No default arguments to BannerLoader and BannerRandom
* Native language for translation is wgContentLanguage, not 'en'.
* Move context-dependent banner rendering stuff into a new class.
* Use prefix search to discover banner message field translations.

Change-Id: I0e49c9f18cfd24a8b7fd8978bc14cc650d430b9c
Merge "Cleanup preparatory to mixin implementation"