See description.
-Split toolchain into compiler and linker tools, added framework for assembler and ability to add custom tools.
--All csbuild commands can now be called specifically for the compiler or linker with csbuild.Toolchain("myToolchain").Compiler()/.Linker(), or with csbuild.Toolchain("myToolchain").Tool("compiler")/.Tool("linker")
--RegisterToolchain now expects a name, a compiler, and a linker as arguments
-Linker, compiler, and project generator base classes now correctly enforce their abstract methods
-msvc linker now links core microsoft libraries by default
-Linker now runs in its own thread, instead of on the main thread. Only one project is linked at a time, still, but linking no longer blocks new compile tasks from starting. Additionally, files whose compiles are finished but who have not started linking now have a "link/queue" state in the gui.
-Performance improvements for the gui's build timeline view. Among other general performance enhancements, the timeline will now only update once per second (minimum) instead of every 250 ms.
-Fixed an incorrect regex in the code editor's syntax highlighter
-Fixed an issue where an exception could be thrown when double-clicking an error with no file attached to it
-Fixed stderr and stdout being combined into the stdout stream, and added error parsing to stdout
-Fixed an issue where projects that fail to compile would show an endless "link/wait" bar in the timeline view
-Fixed an issue causing exceptions on the main thread to print twice