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.
As we discussed earlier today, there is no need to build the HTML as a string. Just pass the `RenderResult` to a template.