Proper behavior when the default theme is missing

Throw an `Error` instance so it's not ignored in the promises flow, and allow to pass the `--theme` option to `cfg` function so there's no need for two passes to resolve the theme.