Bug 1061215 - [Messages][Refactoring] Improve handling of remaining chars counter. r=schung

Currently, I'm trying to do it in the following way:

* Update counter on ```onSegmentInfoChange``` (looks reasonable);
* Update counter on ```onTypeChange``` (aka read from state cache if there is no attachments);
* Reset ```state.segmentInfo``` on ```onContentChange``` if there are attachments and we can't guarantee that ```state.segmentInfo``` is in actual state;

So we'll always have either actual counter or nothing until segment info request is completed

Like this:
````
this.on('segmentinfochange', this.updateMessageCounter);

......

onTypeChange: function c_onTypeChange() {
	.........

	this.updateMessageCounter();
},

.....

onContentChanged: function () {
	........

	if (hasAttachment()) {
		resetSegmentInfo();
	} else {
		updateSegmentInfoThrottled();
	}

	......
}

........

updateMessageCounter: function c_updateMessageCounter() {
	var counterValue = '';

	if (this.type === 'sms') {
		var segments = state.segmentInfo.segments;
		var availableChars = state.segmentInfo.charsAvailableInLastSegment;

		if (segments && (segments > 1 ||
		    availableChars <= MIN_AVAILABLE_CHARS_COUNT)) {
		  counterValue = availableChars + '/' + segments;
		}
	}

	if (counterValue !== dom.counter.textContent) {
		dom.counter.textContent = counterValue;
	}
}
```

What do you think?