FreeMatch: Self-adaptive Thresholding for Semi-supervised Learning