Crossing Numbers: Bounds and Applications