Refactor: Cleanup of type usage, typedefs, defines, globals, etc

Strings should be reserved for "string-like" data.

Please also do performance test comparisons for this change.