Better half->uint16 conversion