Update several things so lib works with latest master.

Quick and dirty fix to get things working again.  Details:

Updated several things to use int rather than `c_int`, since rustc complained about mismatched types (expected int, got i32 kind of errors).  Not sure a lot of the casts that I left in are necessary, I just didn't bother removing them.

See rust-lang/rust#15270 for details about the enum representation change/bug that made most of this necessary.  Not sure the way I fixed things is really best, but unfortunately changing to `#[repr(i32)]` brought a bunch of errors about differently sized types in transmute calls, so I decided to go with casts to int.

Also fixed the PartialOrd implementation in system/time.rs - looks like PartialOrd got changed to have a partial_cmp method instead of just lt/gt etc.

Finally, `p3 : 0 as c_float` is apparently invalid now, as the type of the `0` can't be immediately determined. So that got changed to `0f32 as c_float`.  Definitely doesn't need the cast on most/all platforms, but I left it in for clarity.

Seems to work on windows, don't have the ability to test elsewhere at the moment.