Move Milkdrop-specific shader code into MilkdropPreset, only keep generic and potentially reusable stuff in Renderer.
Also adding some abstraction to reduce the number of direct OpenGL calls to make it easier to add other rendering APIs in the future.