Remove and re-add the site CSS element instead of updating it in-place

Not all browsers support updating the innerHTML/children of <style>
elements, notably IE 8.  Arguably we could use the standard DOM's
insertRule and IE's addRule to manage the content of <style> elements,
but it's simpler and more straight-forward to remove and recreate the
<style> element each time.
Merge branch '4.0/theme-editor-ie8' into 4.0-trunk