Implements the Label widget.

This commit implmenets a new Label widget for displaying text. The implmenetation basically mimics the design pattern of UILabel from iOS SDK.

In order to support for adjusting the label's height automatically to fit text. A new Widget::WidgetWillRender() virtual method is added to give Widget subclasses a chance to prepare the rendering environment. This method will get called in WidgetView::Render() but before all of other Render()-like methods.

A new WidgetView::ContextDidCreate() virtual method is also added as well to give WidgetView subclasses a chance to do some initialization right after the context has been created. Subclasses can implement this method to register fonts that will be used in Label.