Add VALUE_AS_NUMBER property to ol.dom.Input

This should be used when one want to bind a number instead of a string.
Fix bind-input example to use valueAsNumber
Add a temporary html5 externs file

This is needed because the current version of closure compiler we use does not
include externs for valueAsNumber which we now use in ol.dom.Input.
So this backports patch from issue:
https://code.google.com/p/closure-compiler/issues/detail?id=1060

This patch should be reverted when the next closure compiler release is out
with valueAsNumber externs.
Add layergroup support
Add layergroup exports
Add tests for ol.layer.LayerGroup
Add tests for layer.getLayerState()
Add a layer-group example
Get opacity from layerState in webglmaprenderer

instead of getting it from layer.getOpacity().
Fix the issue of changing opacity which didn't work with LayerGroups in webgl.
Bind more layer properties in layer-group example

This allows to update hue, saturation, brightness, contrast values.
ol.Map now have a LAYERGROUP property

The LAYERS property is gone.
Create a custom event type for vector layers

Vector layers will now dispatch ol.layer.VectorLayerEventType.ADD and
ol.layer.VectorLayerEventType.REMOVE event types instead of the generic
goog.events.EventType.CHANGE event type.
This will fix a maximum call stack size exceeded javascript error.
Bindto valueAsNumber in layer-group example

(now that #898 is in)
Make layer renderers more stupid

Layer renderers should not be responsible for listening to layer
properties change and triggering a render.
Layer change events are now forwarded to the map which will trigger a render.
Update color matrices based on framestate values

In getColorMatrix method, we'll update the color matrices only if layerstate
color properties has changed in the framestate.
Trigger CHANGE event only when required

For example only when layer is both ready and visible.
Fix opacity in createFromString
Fix BingMaps API key in example