Feature/refactor

Added docs and renamed variables for clarity. Modules now make use of RenderResult. Changes to the player allow for multiple renderers and export options. The config file now requires a list of Renderers and a list of exporters rather than just a list of handlers.
I think a good way to handle this would be to have a dict in the player with the handler name corresponding to the "human-friendly" name:
```python
handler_names = {
'rst': 'ReStructured Text',
'image':'Image',
.....
}
```
assuming I understand the usage of this...