Mirrors the webclient fix:
1. GameSpriteManager.bakeTileFeathers samples srcPxX/srcPxY with a
direction-dependent flip so the seam-adjacent pixel of the
neighbor ends up at the visible edge of the fringe. N/S flip
the Y axis, W/E flip the X axis. Previously canvas row 0 (drawn
at the seam) showed source row 0 of the sub-strip, which is
depthH-1 rows AWAY from the seam — looked inverted.
2. TileManager.drawTileSeams skips blending if THIS tile is a wall
(collision-layer isWall) and skips any cardinal edge whose
neighbor is a wall. New isWallCell helper. Walls are
architectural boundaries — feathering them clashes with their
3D extrusion bands and reads as mush.