Remove (most) LLVM intrinsics from the compiler

This commit does the following

 - Removes most LLVM intrinsics from the compiler
 - Adds functions that optimize down to specific LLVM intrinsics to
   libcore
 - Utilize the sqrt intrinsic in f32/f64