multiple IG instances are stored in iglist and switched by IG static methods
in case of applet execution or other occasion but handling of multiple IG
instances and switching are not really tested.
project the vector to the plane defined by two input vector and decompose vector to two vector and another perpendicular vector and returns coefficient of them.