Expose GetFaceInfoCommand handler for use by Entities other than Shipyard
Polygon based hit checking supports Models consisting of multiple Meshes

All meshes in a model are iterated for checking.  Model motions are not
considered yet.
vastspace: Soldiers try to stand on next facet if stepped out one

Previously, if a Soldier is standing on a facet of a model and walk out
of it, he will detach from the facet even if the face is smoothly (in
terms of approximated geometry) connected to another.  Now the Soldier
will try to find another facet that looks continuing and stand on it.

Finding the new facet is done by tracing a ray downward.  The problem is
that the surface may be convex, which means the new facet may facing away
and standing on it is technically unstable.
Determine normal vector by actual vertices instead of mesh normals
Experimentally apply face-based hit check to Destroyer and Attacker
cpplib: Add a test project for mat3's inverse matrix
cpplib: Fix Mat3::inverse() did not return correct inverse matrix

We actually had to apply transpose before returning.
cpplib: Add test codes to measure computation time for matrix inverse
cpplib: Micro-optimize mat3 inverse method by factorize cofactors
cpplib: Add element-wise constructor to Mat3
cpplib: Add tvec3(), a transpose vector getter to Mat3 with tests
Merge branch 'cpplib' into next2
Improve precision of polygon model hit by calculating inverse matrix

There are complex arguments to formulate inverse matrix, which I won't
discuss here.  But it looks better when the face is not coplaner when
the face has 4 vertices.