You'd probably want to change the texture filter on the sprite or apply some sort of anti-aliasing (don't know how though).
It's not texturing, he's moving the tile data around, not an image.
It is aliasing though. You'll probably need to do some kind of error accumulation like in brensenham. Your tile positions are being rounded into the wrong locations.
A crappier "I don't want to think about it" solution could be something like
if spot already occupied
add [t, spot] to open list
place t in spot
for [t, spot] in open list
place t in unoccupied spot closest to where t was 'supposed' to have gone (spot)
Would probably work but is terrible. Also needs a nearest-neighbor-search friendly data structure.
(Technically you would also have to check conflicts to see "who is closer to being right," not just "who got there first," but meh)
EDIT: what (code) is Game.get()?