What is SDL exactly, why should I use it? - C#