added exceptions and initialised SDL
added event handling
renderer framework
implemented shared pointers for the renederer