Added generic interface "Renderer". Should be easier to implement renderer with different output types, now.