Currently `setTarget` works with `Element` and `undefined` only. This is to be consistent with the way the other map properties work. For now our constructors only apply such type-conversion magic.

Also, as a user, if you pass a string to `setTarget` what do you expect `getTarget` to return, an `Element` or a `string`? I think that `getTarget` should always return an `Element`, even if we introduce some convenience to `setTarget`.

So we're to introduce that convenience I think `setTarget` would look like this:

```
/**
 * @param {Element|string|undefined} target Target.
 */
ol.Map.prototype.setTarget = function(target) {
  target = /** @type {Element|undefined} */ (goog.dom.getElement(target));
  this.set(ol.MapProperty.TARGET, target); 
};
```

Interested to know what people think.