Requests for comment/Context object

We are currently using more and more member variables to store local versions of global objects such as Title object in OutputPage, Skin, ... There are some problems with this method:
 * We need to do this to this for each object we want to store in every class that need it
 * When something changes, it needs to be passed to all objects

The proposal here is to replace all these members with only one "context" object that would contain the following members:
 * to replace
 * to replace
 * to replace
 * to replace
 * to replace
 * to replace  since there was concerns that this method should not be in the User class

As you can see, I propose to not add an  member to this object.

Backward compatibility
Backward compatibility would not be hard to maintain by using ; e.g.

Classes that should have a context object

 * OutputPage
 * Skin
 * SpecialPage

Classes that should not have a context object

 * Article
 * Title
 * User