GPU/Math3D: Replace * and % operators with the less ambiguous function names Dot and Cross.
GPU/Math3D: Add some getter functions to allow indexing Vec3 objects like colors or texture coordinates.
GPU/Math3D: Replace Vec3::v array with a method called "AsArray".
GPU/Math3D: Replace ambiguous Vec3 constructors with static methods returning a new Vec3 object.

Possibly fixes a bug or two because the old code was using the constructors incorrectly.
GPU/Math3D: Change Vec3 to allow for arbitrary component base types.
GPU/Math3D: Add a Vec4 class.
GPU/Math3D: Add a Vec2 class.
GPU/Math3D: Add component swizzlers for Vec2, Vec3 and Vec4.
GPU/Math3D: Rename VecXRef::Mul to the star operator.
GPU/Math3D: Support converting Vec3 and Vec4 objects to u32 color values.
GPU/Math3D: Add methods for casting vectors.
GPU/Math3D: Replace VecX::Lerp methods with more general and clearer Lerp and LerpInt template functions.
GPU/Math3D: Add a 3x3 matrix class.
GPU/Math3D: Add a 4x4 matrix class.
Merge pull request #2986 from neobrain/math3d-extensions2

Math3d extensions2
Merge pull request #2987 from thedax/win32UICleanup

Win32 UI: More cleanups.
Update native
These funcs are already defined in math_util.h, so why are they redefined in this file? In any case, it seems to break 2010/2012 compilation to have those in there..
Merge pull request #2988 from thedax/windowsBuildFix

Fix Windows 2010/2012 builds
Windows UI: Fix some UI bugs and move more magic numbers to an enumerator.