Use pointer.cast() instead of "as" casts to fix c_char on aarch64.
libc::c_char is u8 on aarch64, unlike x64_64, where it is i8. So, on aarch64, "some_c_char_ptr as *const u8" gives a warning for a trivial cast - but we turn those warnings into errors.
Use cast() instead, so it will cast to the right thing automatically.
This should fix #991 (closed).