Themes in Core v1

Fresh branch from a clean master
Nit: couldn't this just be something like...

```javascript
        return name.split(" ").map(function (part) {
            return part[0].toUpperCase() + part.substring(1);
        }).join(" ");
```