[finishes #70023036] supporting turning sprites

Change Direction to contain 8 directions. Re-assign N/S/E/W values as bitfields so NE = (N | E).
Update levels.js to use these new values.

Added NextTurn table in tiles.js so we can make the animation frames table driven: used as newDisplayDirection = NextTurn[currentDisplayDirection][desiredDirection]. Moves from E to W and W to E go south in both cases so the character faces the screen during the move.

Updated displaySprite to deduce the direction of movement based on previous coords and new coords.

Updated spriteFrameNumber() to find the appropriate frame index based on the displayDirection for the sprite (for sprites that contain turning images).

Fixed bug with setSpriteHidden introduced earlier today.

Fix block color for setSpriteEmotion, remove unnecessary call to displaySprite in api.js