Enabled warnings for suspicious implicit casts, and fixed all warnings produced by this. This involved switching specific use of float or double functions to use CGFloat and <tgmath.h>.