Redefine border attribute of tile

Now tile.border is true when the tile is positioned on the outer edge
of the maze, excluding corners. Test tile.corner for outer corner.
Inner maze tiles will never register as border or corner tiles.
Fix io special encoding issue

Specials were not surviving encode/decode intact, so the manual sprite
selections would be scrambled on decode.

Changed the bit mask from 0x31=0b110001 to 31=0b11111 for the special.

Wow that was a thoughtless mistake.