number of rendered elements.
This was pretty easy since the elements were getting re-allocated
in the graphics card every frame. TODO would be to make the
re-allocation not happen every frame but rather only happen when
a re-allocation is nescessary and rather just not fully re-populate
the buffer if not every element is used or have some other sort of
automated way of handling the VRAM.
Also moved all the code for each pipeline into the header files
rather than the .cpp files to keep it all in one place.
Considering just moving all the code into one file just to make it
easier to create new pipelines but that may be overkill and may
make the project harder to maintain in the future.
Changing the mechanic of the renderer to support pipelines.
One scene could have multiple pipelines. The pipelines allow for
one shader, one camera, and multiple batches.