Finished #51 after starting #55

Refactored code to pass Window objects around rather than raw SDL
pointers

This was done so textures could be rendered using a render stored in
the window object