This merge request fixes some of the memory leak in the render system. To reproduce the leak you can load any trace and hit ctrl+r or the button Reload multiple times.
Beyond deleting what needed to be deleted I had to introduce a Shader pool to be able to clean everything up. Previously VBO used to own their shader but for some entities (like Arrow) two VBO shared the same shader. Just fixing the VBOs leak would then crash the program since a VBO will delete it's shader, and the next one would try to double delete it.
My fix removed the shader from the VBO's hands and we now have a shader pool that handles the shader life.
The memory leaks are especially present when a lot of arrows or events are present.