Simplify compile process

Changes to libcore means we need to do the compile in less passes.

Added the three new lang items, pulled support into zinc, app is still
the main entry point but it produces the .elf without a second call to
ld.

There has been a large size regression, the majority of it is from
libcore pulling in the string formatting functions for error handling.
I will submit a patch to provide a cfg flag for building libcore
with simpler errors.