split out ffi::call from System

System::call was pointlessly dynamically dispatched, as both implementations did exactly the same thing (which actually did vary based on the architecture).  Also, it made for a needless dependency on the assembly code.

If you have suggestions on better places to put this, I'm all ears.