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.
Basically, @cantsin, when I try to use updateMyState, passing it currZoneId and currZone, and then move or shoot a bullet, the game freezes. Using ESC or Ctrl-C doesn't work (but killing it does).

Eventually, on Arch Linux, it crashes with

    Error: stack overflow
    stack traceback:
        [C]: in function 'pump'
        [string "boot.lua"]:1461: in function <[string "boot.lua"]:1412>
        [C]: in function 'encodeString'
        library/json.lua:96: in function 'encode'
        library/json.lua:96: in function 'encode'
        library/json.lua:91: in function 'encode'
        library/json.lua:96: in function 'encode'
        library/json.lua:91: in function 'encode'
        library/json.lua:96: in function 'encode'
        ...
        library/json.lua:96: in function 'encode'
        library/json.lua:96: in function 'buildMessage'
        library/glcd.lua:74: in function 'send'
        main.lua:159: in function 'cb'
        library/clock.lua:12: in function 'runTimers'
        library/clock.lua:38: in function 'update'
        main.lua:170: in function 'update'
        [string "boot.lua"]:434: in function <[string "boot.lua"]:399>
        [C]: in function 'xpcall'

I haven't looked too closely at this.