Changed apply_surface

-Moved to window class.
-Now accepts overloading, instead of passing a source and destination,
one can pass an integer 0 for screen or 1 for background.
-No function changes, just more changing because I cannot exactly figure
out why background needs to be global.
-Considering making another class for camera to handle everything such
as the background, HUD, and where the player is looking. Also to
re-enable the S-key camera shift.