Some minor typos and Visual C++ oddities

This is the first slew of bandaging. There is still some other issues such as the vcomputer uses MOD_NONE which is already defined in windows and as such needs to be prefixed differently, and crypto++ needs to be removed to fix some linker errors.

Typos:
-frame_tp_tp instead of just frame_tp
- A malformed target name in CMakeLists (tests build section)

The oddities include:
-std::min must be surrounded in () to enforce
the std function instead of the min macro.
-Removing the last references of constexpr
-Visual C++ declares std::make_unique and so we must complement
the ifdef for non msvc with a using directive.
-__popcnt64 isn't available unless doing a 64bit build
-std::vector initialization lists in construction initializer lists isn't allowed

Errors that need resolving:
-transform.cpp glm::eualarAnglers conversion issues
-Visual C++ friend template methods with fully qualified
namespaces causes an internal compiler error, so removing
the friend reference requires make several classes private
data public for access level reasons.
-Registering a Shared component in registration fails with
internal compiler?!?!
-Custom allocator can't align 16 for VelocityStruct when using
btVector3