Add constructor for std::string support.
Add is_short/is_free methods.

This is to hopefully fix a few problems with memory corruption.

Also, use malloc/realloc/free in place of new/delete. This is mostly
because I'd rather have the data copied.

String data is no longer zeroed.
Add parameter names for s_log_callback.
Replace 'fatal error' text with exception name.
Replace use of tanf with std::tan
Tweak mat4f_t::look_at implementation.
Add vec3_t::make(scalar)
Add S_RAD2DEG
Use uint32/64_t in place of size_t.

This could potentially limit what can be done with the input data,
but really, it's not a huge issue in most cases. The hash functions
are made to work with short strings anyway.