Support nested colours

This is pretty naive support, but should work for most cases (e.g. case I mentioned a couple weeks ago https://github.com/erming/shout/commit/d86005e84ab671871308c496791fed8de38878a7)

````
colours(^C1,2back^C1wheres my back2)
// => "<span class='color-1 bg-2'>back</span><span class='color-1 bg-2'>wheres my back2</span>"
```