Revisit Logos

Fixes #2331, ie :

 - Default logo

    ```javascript
    var map = new ol.Map({
      // show the ol3 logo by default
    });
    ```

 - Custom logo

    ```javascript    
    var map = new ol.Map({
      logo: 'http://example.com/logo.png'
    });
    ```
 - Custom logo with a link

    ```javascript
    var map = new ol.Map({
      logo: {
        src: 'http://example.com/logo.png',
        href: 'http://example.com/'
      }
    });
    ```

 - No logo

    ```javascript
    var map = new ol.Map({
      logo: false
    });
    ```

Allow the same on sources (fixes #1939)

Bypass `collapsible` when there’s only logos and no attributions (simple without background, css themable)
![capture decran 2014-07-21 a 17 52 17](https://cloud.githubusercontent.com/assets/21686/3645944/0ec6b896-10ef-11e4-99ca-6a120f102587.png)
(yes, fake example, there ARE attributions for OSM)


We might be getting lucky here that `href` and `src` are not renamed (would have to confirm this works when compiled).  To avoid renaming in stand-alone builds and still work with apps compiled together with the lib, this should really be `olx.LogoOptions` or something.  Adding a `@typedef` and including doc blocks per property in `olx.js` is the way we currently achieve this.