Small changes to Matrix4 and Vector3

Removed some usage of Vector3.tmp and Matrix4.tmpV. And changed some code along the way. Some of which are:
- Add Matrix4#set(x, y, z, w), which is most likely needed to remove the temp quat usage.
- Deprecate Vector3.tmp/tmp(), etc.
- Avoid Math.sqrt where possible (eg in Vector3#isUnit).
- Remove unneeded assignments (eg in Vector3#dst)
- Precalculate the divide in Vector3#prj
- Small bugfix in Vector3#slerp (if (dot > 0.99995 || dot < 0.9995) was probably not intended :))
- Add Vector3#clamp(min, max), inline with Vector3#limit(max)
- Deprecate Vector3#scale as it's the same as #mul.