Refactored the renderer.

Changed the renderer to be header-only, it's much easier to work with
now, instead of dealing with adding files to your build, you can simply
include the header file.