Small changes to many of the structs

Fixed some pointer casting code in update.
GameObjects are now constrained to the screen.
The player can move using the arrow keys.