Bug 1067228 - [Messages][Refactoring] Move subject management to a separate component. r=julien

Let me think aloud:
* ```view``` - no, because we can use the same pattern not only for view-centric object\classes;
* ```subject``` - no, because ideally I'd like to have the same name for this across the object\classes - to recognize it easily;
* ```that``` - hesitate, somewhat strange :)
* ```var priv = privateMembers.get(this)`` - IMO the best option from what we have, let's go with it until we can think of smth better

Deal? :)