Created by: AmaanC
Things done:
- Build crtbeginS and crtendS within GCC itself
- Update specs to use these shared variants when appropriate
- Pass -shared flag from GCC to linker
- Use -fPIC by default for all code unless otherwise specified (this will let us build Newlib in a way that is compatible to build a shared library out of too)