Fix Live CSS with an iframe element

For #7935 and #7785 

Bugs to fix:
- [x] Only updating the iframe if the same CSS file is used for both iframe and page
- [ ] Changes to the iframe's HTML will only take effect on save
- [ ] Error message on startup (in console)
I don't think it's safe accessing `[0]`. I think @peterflynn 's first suggestion should work (with a change to make jslint happy):

```JS
    function getOnlyValue(obj) {
        for (var key in obj) {
            if (_.has(obj, key)) {
                return obj[key];
            }
        }
    }
```