ol.Object#bindTo: getter and setter

`ol.Object#bindTo` works great but only if the type of the properties are the same.

For example, an HTML select with a list of projection code can't be directly bound to a property where a `ol.proj.Projection` is expected. (see mouse-position example)

It should be possible to specify two functions to transform the value get from the input (getter) and the value set to the input (setter).

In this case, the getter is (input -> control):
```javascript
function(value) {
   return ol.proj.get(value);
}
```

And the setter (control -> input):
```javascript
function(value) {
   return value.getCode();
}
```