isolate renderer as separate subsystem. no struct

Why would you need two?