Fix Matrix#set and other small changes

Fix scaling in Matrix4#set(translation, quaternion, scale) to match FBX, see #1289.
Added Matrix4#set(translation, quaternion) and added the same methods with float arguments.
Slightly changed the existing Matrix4#set(quaternion) method to remove a few multiplications.
Also add some docs to the Shader interface and add some convenience methods to Frustum.