Support customizable font cascade list

# Support customizable font cascade list

Settings including __font_face__ and __label_font_face__ now support __customizable font cascade list__.

Font cascade list are font names separated by the comma ‘__,__’ (may contain some whitespace characters). The first font name in the cascade list will be treated as the default font name, the rest of them are fallback fonts (the same order as in the cascade list).

If font cascade list is not required, a single font name will be fairly enough, just the same as before.

The order of fonts in the cascade list _DOES_ matter. Only characters which are not included in any particular font will fallback to the font followed by. Eventually, characters which are not included in any font in the cascade list will fallback to the system default (i.e. 'Lucida Grande').

# Example

For example, in my _squirrel.custom.yaml_, I have:

```yaml
patch:
  style/font_face: 'SourceCodePro-Light, Heiti SC'
```

All ASCII characters will use _SourceCodePro-Light_ first, then the remaining non-ASCII characters will fallback to _Heiti SC_.

![Screen Shot 2013-01-18 at 6 37 26 AM](https://f.cloud.github.com/assets/251435/76596/7c262066-60f6-11e2-9be0-eef57c09f874.png)