Added capability detection for vertex arrays and uniform blocks

If it's complaining about unused field, we can just add the public `is_extension_supported()` method to the GL device (not the `DeviceTask` trait)