mediawiki.log: Move #warn and #deprecate to mediawiki.js and add tracking
* Moved #warn and #deprecate from mediawiki.log.js (only loaded
in debug mode) to main mediawiki.js.
This means warnings will now be available in the console at all
times instead of only when the user (re)loaded the page in
ResourceLoader's debug mode. Deprecation notices are generally
useful and should be discoverable from the console (just like
notices from the browser itself for JS and CSS).
It doesn't affect user experience as the notices invisible to
the page and sent to an appropiate view (e.g. developer console).
Our console emulator (the HTML-based one, like Firebug Lite)
remains exclusively loaded in debug mode.
* Start tracking usage via mw.track.
For example, calls to mw.user.wikiGetlink, will be tracked as:
{ topic: "mw.deprecate", data: "wikiGetlink" }
As all tracking, this isn't sent or stored anywhere by default.
Extensions, hooks and other scripts can subscribe and actually
log them (i.e. WikimediaEvents extension).
Also:
* Fixed odd tab between 'var' and 'args' in mediawiki.log.js
* Added minor optimisation by using a single local lookup for slice
instead of three properties deep from a global variable lookup.
* Moved down code for mw.log in mediawiki.js so that we don't
mix nested classes (mw.log#...) between other sibling methods
of mw itself. This also simplifies the documentation by using
jsduck's linear @class context.
* Simplify console && console.log check in mediawiki.log.js polyfil.
Change-Id: I67737de5abe0d655091fbe453a3b924f5068308c