Starting (attempting) to abstract SDL stuff better
Further abstraction of SDL (HAL) stuff
Tidying