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 don't feel strongly about it, but to me render_html sounds like it is rendering html like a browser. In our context it is obvious, but someone who is unfamiliar with the code may be confused.