Feature/cleaner sprite class

I am proposing this as an approach for cleaning up main.lua. This has been applied to bullets. It hasn't been done for the player yet.
My guess is that `currZone` is a table with a recursive definition in there somewhere. We shouldn't be using `currZone` anyway, just `currZoneId` since that (presumably!) uniquely identifies the current zone. Does just passing in `currZoneId` work?