Changed the uint8_t parameter type of the second argument of setupGrayscalePalette back to std::size_t

This is because changing it back fixes the renderer completely. If the parameter is of type uint8_t the surface generated is bad and does not render.
Also removed the comment right above the first usage in the `render_text` function, since now it doesn't really work. I don't think...
I will definitely look into this later.
Added an invertPalette function to render_text.h