Add properties to ol.layer.Layer objects

This PR adds "visible" and "opacity [accessor descriptors](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty) to the ol.layer.Layer objects created by the gaLayers service. This is to be able to control the visibility and opacity of layers through ngModel-powered input elements.

The map example and the tests demonstrate how this works.

Please review.

(This work is needed for the "layer manager" component.)