Renderer is the main point of entry for any rendering functionality. It
contains various rendering passes which are executed in sequence. I iterated
through the entities that need rendering from the ECS world and calls the
appropriate rendering passes depending on which components are present on
the entities.