wrap sdl window in unique_ptr
change shared window ptr to unqiue ptr
add clear bit to clear function in window
remove some redundant code from the several buffer objects
remove shader source loading from shader class