Hmm... this will make `css_body` a byte string (instead of unicode). 
We could write a wrapper on urllib2 to make it unicode. Something like this maybe:
```python
r  = urllib2.urlopen(url)
encoding = (re.findall('charset=(.*)', r.headers['content-type']) or ['utf-8'])[0]
css_body = r.read().decode(encoding)
```

That way, `_load_external()` always returns unicode. What do you think?