Update to text truncation for the Label widget

This is a new implementation of the render function for the Label widget to manage text truncation if enabled. Text truncation is enabled the same way as before with the setTruncationMode function and should be backward compatible with anything already using it, except for the fact that the setWidth function has been removed as its's only use was for the old text truncation method, and is no longer necessary for the new one.

ADVANTAGES
- You no longer need to specify the width with setWidth, it uses the width and height that the widget will be styled with/inherit when it is added to the dom.
- Its default operation will be to fit the truncate the text to fit in the widget's width and height. You don't have to tell it how many lines that would be.
- You can tell it to truncate after a certain number of lines by using the setMaximumLines function. A value of 0 means fit the container.
- Because it calculates the amount of text that will fit in place, it will work with whatever styles are inherited at where the widget is placed. I.e. the font size could be set a few steps up in the dom hierarchy and this will be taken into consideration.
- Should be recalculated if the text updated.

DISADVANTAGES
- If the container that the text is in changes size the text will not be re-truncated and adapt to this. The current system doesn't do this either.
- There is a bit of processing that needs to be done when the widget is added to the visible DOM before the final text is added and appears, but this still seems to be pretty instant, only happens if text truncation is turned on, and the old system also had this. I haven't measured times precisely though so don't know if the old system was quicker. The text is not visible whilst this is done and it shouldn't effect anything else on the page.
- At the moment this uses a callback attached to the Label widget. This might not be the best way of doing this. Maybe an event instead?

I will open a ticket on JIRA for this after the request has gone through.