pico: handle I2S pins >= 32

Also need to set AUDIO_I2S_PIO to one not already used with a 0 base...
diff --git a/32blit-pico/audio/i2s.cpp b/32blit-pico/audio/i2s.cpp
index 8df81ff..2548215 100644
--- a/32blit-pico/audio/i2s.cpp
+++ b/32blit-pico/audio/i2s.cpp
@@ -47,6 +47,13 @@
 
 void init_audio() {
   // setup PIO
+
+#if AUDIO_I2S_DATA_PIN >= 32 || AUDIO_I2S_CLOCK_PIN_BASE >= 31
+    // this assumes anything else using this PIO can also deal with the base
+    static_assert(AUDIO_I2S_DATA_PIN >= 16 && AUDIO_I2S_CLOCK_PIN_BASE >= 16);
+    pio_set_gpio_base(audio_pio, 16);
+#endif
+
   int pio_offset = pio_add_program(audio_pio, &i2s_program);
 
   int pio_sm = pio_claim_unused_sm(audio_pio, true);