Fix weird linking issues with newlib:
- Get rid of dlmalloc
- Also get rid of klmalloc
Adjust crt0 operation:
- Kill the dead loop at the end
- Pass main to pre_main as a function pointer to move `main` reference
into crt0.o
- Fix a build script derp with trying to remove build and local
directories (gets rid of some warnings)
Also, sleep() as a function (implemented by way of nanosleep) and new
absolute and relative sleep system calls added to newlib.
[ci skip] I damn well know this is going to break CI.
* Patched crt0 to support a pre_main
* pre_main sets up environment variables, can do other things later,
but then just jumps to main with the same arguments.
* Updated a bunch of apps to pass environment variables around.
* Also some minor updates to the toolchain in general.
* Replacing the old bitmap wallpaper (not the actual wallpaper, but the
terminal one) with a fresh new wallpaper as a PNG.
* Finally bring syscall.h up to speed and include all syscalls in the
syscall module of the C library.
* Remove the third-party obfuscated C demos (we have nyancat, good
enough)
* Fix userspace apps to build without complaining about undeclared
strtok_r by disable __STRICT_ANSI__
* Fix .eh_frame by including the proper stuff with libgcc.