Hypoxia: a Review