make Item::set_position() do nothing if the position doesn't change