Bring code up to date with Eq changes in Rust

This contains two kinds of changes:
- TotalEq was renamed to Eq, so where TotalEq was derived before, Eq is
  now derived. This required also deriving PartialEq, since it is
  required by Eq and not derived automatically.
- Where Eq was derived before, derived PartialEq in addition to make it
  compile. This is not equivalent to before (since the old Eq is now
  called PartialEq), but I saw no reason to only make the weaker
  equivalence guarantees provided by PartialEq in those cases.
Fix snake case compiler warning

Since the function in question directly mimics an OpenGL function, I
believe disabling the warning is better than renaming the function.
Merge pull request #166 from bjz/hannobraun-cherry-pick

Rust updates