Bradford ended a run of five successive Super League defeats by holding on to beat Hull FC 16-14 after a tense finish at Odsal.