moved component system to the metatable library
more cleanup
added missing GetMouseTrapped to sdl window
metatable is now copied to prevent tables and other values from being shared