Barycentric UV Coords

Trying out using Barycentric coordinates for UV calculation.  Works, but there’s a sharp line between each tri.  There might be an alternative Barycentric-like algorithm for quads, or bilinear might be our best bet.  On the plus side, this barycentric calculation doesn’t seem to suffer from the 1st/3rd mirror issue that my bilinear calculation has.

• Added new surfaceSTToTexelUV_barycentricQuad() function— splits the quad into two tris, decides which the point is within, and then delegates to surfaceSTToTexelUV_barycentricTri().
	• New surfaceSTToTexelUV_barycentricTri() function maps the barycentric coords to UVs.
	• New barycentricCoords2() function does the computation of UVs.
		» Founds a few broken implementations of this on the web; ended up using the one from the MK Real-Time Collision Detection book.
	• New GLKVector2CrossProduct() support function, which simply rearranges the values (and inverts one) and plugs them into GLKVector2DotProduct.
		» A hand-written NEON-accelerated version would be ideal, unfortunately my attempts have bee not-so-successful.
	• Another util: GLKVector2Perp(); which does a simple 90°-counter-clock rotation.
• Switched genDestImagePixelBytesAtPosition() to use surfaceSTToTexelUV_barycentricQuad() (for now).
• Minor: Added commented-out `@debug` lines to the byte assignment in genDestImagePixelBytesAtPosition() to be able to temporarily visualize the UV values instead of the texture.
• Regorg: Renamed surfaceSTToTexelUV() to surfaceSTToTexelUV_bilinearQuad(), since we have multiple algorithms implemented for this operation now.