Support for rendering using premultiplied alpha on iOS.

This commit fixes the issue caused by iOS because it uses premultiplied alpha for rendering. The issue was resolved in the nanovg project. More detail can be found here: https://github.com/memononen/nanovg/issues/40

This commit also chooses the OpenGL backend for nanovg context based on the running platform. For example, it uses OpenGL ES 2 for iOS and Android, OpenGL 2 for others.

Signed-off-by: Olli Wang <olliwang@ollix.com>
Renders all child widgets recursively in WidgetView.

Removes Widget::RenderChildren() method and moves the work to WidgetView. Now the WidgetView is responsible for rendering all child widgets recursively.

Signed-off-by: Olli Wang <olliwang@ollix.com>