added a call collection class for collecting all calls that need to be called at the end of the program lifecycle
renamed window
wrapped init and loop around try catch finally
shader building