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)
@SAPlayer When you say "they are enumerated (but **not** beginning with 0)," do you mean the keys are all numbers, but they're non-sequential?

If so, still bear in mind that there's no guarantee on the order of Object.keys() -- the lowest number is not necessarily first in the array.  If your code relies on always getting the lowest index/key, you should .sort() the keys array to ensure that'll always actually happen.