Added a shutdown function to clean up

-Properly clean up the context with a shutdown function
-the shader and geometry are now owned by the context.