More shader cleanups

This is not really an `_iv` because it returns a single `GLint`. You might want to reserve the `_iv` suffix for a helper method that returns a vector or an array.