Force better code generation for matrix access.

Forcibly inline some things so that the compiler is forced
to generate better code. This has an impact for emscripten
where we compile with less automatic inlining so as to not
penalize generated code size.
Copy less when doing multiplication.

When using |operator*|, we know that the result won't alias
with the lhs or rhs, so we can directly call the |unsafeMult|
method and return the temporary that we create in |operator*|.

Since |operator*| is inlined, the compiler is able to better
optimize what is happening here.

For example:

    __ZN4gmtl6MatrixIfLj4ELj4EEC2Ev($temporary_i);
    _memcpy($17, __ZN4gmtl4multIfLj4ELj4ELj4EEERNS_6MatrixIT_XT0_EXT2_EEES4_RKNS1_IS2_XT0_EXT1_EEERKNS1_IS2_XT1_EXT2_EEE($temporary_i, $invpgm, $18), 64) | 0;
    __ZN9northstar9Transform25setFromMatrixUniformScaleERKN4gmtl6MatrixIfLj4ELj4EEE($tr, $17);

becomes:

    __ZN4gmtl6MatrixIfLj4ELj4EEC2Ev($17);
    __ZN4gmtl8internal10unsafeMultIfLj4ELj4ELj4EEEvPT_PKS2_S5_($17 | 0, $invpgm | 0, $18 | 0);
    __ZN9northstar9Transform25setFromMatrixUniformScaleERKN4gmtl6MatrixIfLj4ELj4EEE($tr, $17);

The |memcpy| is gone and the call to |mult| is now a call to
|unsafeMult|.

Inspecting the generated code for the IMVU codebase showed that
other callers of |mult| are not penalized by the un-inlining of
|unsafeMult|.