support configurable types in configuration blocks

With this, you will be able to configure your own code block types in  ``conf.py`` like this:

```python
config_block = {
    'text': 'Plaintext',
    'ruby': 'Ruby'
}
```

This resolves half of what is required for #16.