Improve quaternion API.

Fix norm() (which is norm squared right now).
Add Matrix4x4 initialization from Quaternion instead of Vector4.
Add normalize().
Add Quaternion initialization from axis rotation.
Make default values unit.
Add methods to create a quaternion from a rotation between two vectors.
Fix geometry component reference in geometry dataprovider
Fixed spline's length computation updates.
Fix missing default argument.
Merge branch 'origin/dev'
Fix xpath for hasProperty command
Fixed the ParserOptions.defaultMaterialFunction that always ignored the ParserOptions.material even when explicitly specified.
Fixed defaultMaterialFunction : using the passed material instead of default material
Fixed specular color (untested with envmap yet in RealisticMaterial).
Fixed the Phong effect's colored specularities (single and multipass, and realistic effect).
Merge remote-tracking branch 'refs/remotes/origin/phong-specular' into dev
Finish improve-quaternion
Remove unused argument to Quaternion.normalize().
Fix shadow color computation (compiler bug spotted here).
Remove unused class.
Fix vertex component existence for sprites
Change shadowCastingType to shadowMappingType
Fixed AbstractScriptController _scene affectation so that it is set before start is called
Fixed a bug in AbstractSegment.length and parameterized SplineGeometry's uv by arclength.
Merge remote-tracking branch 'github/dev' into dev