Make state an observable property of ol.source.Source

This changes ol.source.Source to extend ol.Object and adds `state` as an observable property so that it is easier to detect when a source's state has changed.