add explicit matrix conversion operators to quat

as you stated in issue #274, adding explicit constructors to matrix types would break the spirit of the library. however this feature can be achieved by adding explicit conversion operators to glm::quat. this way the core profile (the matrix types) remains unpolluted, according to the GLSL standard. so the feature only available if GTC_quaternion extension is used. it is a more C++11 friendly way of type conversion and also preserves the concept of the library.