Support non-square elements in regular quad mesh generation

as titled
right. i didn't think about it. actually multiplication and cross product also work with integers. but functions related to normalization is not working because of divisions. Should I use other class instead of `TemplateVector3`?