hxlibc improvements to the HXCPP tool

The first commit separates the HXCPP run tool into multiple files, per class. This should make it a bit easier to maintain.

The second commit performs a little bit of standardization on the code, following the current code style. This helps remove bad indenting, and other inconsistencies -- this pass was not too dramatic, I did not want to assume that certain kinds of spaces, etc, were always intended to be similar.

The third commit includes improvements made from the hxlibc tool, primarily, it includes additional logic for logging, running process and working with paths. The error messages in places are cleaned a bit, and it automatically uses ASCII coloring when available. Errors will also not throw a stack trace from the HXCPP tool, as an error when calling g++ (for example) is not relevant to the internals of the tool.