Move to half float texture coords.

Fixes some overflows at the cost of a bit of precision. The float
to half conversion assumes that TCs are not NaNs or infinites.